Índice. Classificação Supervisionada e Árvores de Decisão. Problema de Classificação. Problema de Classificação 14/06/2017

Documentos relacionados
Aprendizado de Máquina

Classificação: Definição. Classificação: conceitos básicos e árvores de decisão. Exemplos de Tarefas de Classificação

Redes Neuronais e Aprendizagem Automática 1

Aprendizagem de Máquina

Classificação: Árvores de Decisão e k-nn. Eduardo Raul Hruschka

Inteligência Artificial. Raimundo Osvaldo Vieira [DComp IFMA Campus Monte Castelo]

Aprendizagem de Máquina

Modelagem da Rede Neural. Modelagem da Rede Neural. Back Propagation. Modelagem da Rede Neural. Modelagem da Rede Neural. Seleção de Variáveis:

Aprendizado de Máquinas

INF 1771 Inteligência Artificial

Arvores de decisão. Outras árvores. Outra maneira de ver árvores. Extracção de regras (a partir de árvores) Vantagens das árvores (1)

Classificação e Predição de Dados - Profits Consulting - Consultoria Empresarial - Serviços SAP- CRM Si

DCBD. Avaliação de modelos. Métricas para avaliação de desempenho. Avaliação de modelos. Métricas para avaliação de desempenho...

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Árvores de Decisão. Sumario. João Gama Árvores de decisão. Motivação Construção de uma árvore de decisão. Podar a árvore.

Metodologia Aplicada a Computação.

Seleção de Atributos 1

Árvores de Decisão. Sumario. João Gama Árvores de decisão. Motivação Construção de uma árvore de decisão. Podar a árvore.

INF 1771 Inteligência Artificial

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais

Aprendizagem a partir de observações. Capítulo 18 (Secções 1-3)

Aprendizado. O que é Aprendizado? Capítulo 5

Inteligência Artificial

Uma Introdução a SVM Support Vector Machines. Obs: Baseada nos slides de Martin Law

Mistura de modelos. Marcelo K. Albertini. 31 de Julho de 2014

Saída: Representação de conhecimento

Algoritmos para Classificação

Extracção de Conhecimento

Métodos Não Paramétricos

Reconhecimento de Padrões

M08. Introdução a Técnicas de Data Mining DM

Agregação de Algoritmos de Aprendizado de Máquina (AM) Professor: Eduardo R. Hruschka Estagiário PAE: Luiz F. S. Coletta

Inteligência Artificial

Sistemas Inteligentes Inteligência Artificial Segundo Trabalho

Fundamentos de Inteligência Artificial [5COP099]

FERRAMENTAS ESTATÍSTICAS PARA ANÁLISE DA CLASSIFICAÇÃO

Classificação Linear. André Tavares da Silva.

Clodoaldo A. M. Lima, Sarajane M. Peres. 26 de agosto de 2015

Aprendizado de Máquina

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Classificação - avaliação de resultados - 1. Mineração de Dados 2013

Inteligência Artificial

Mineração de Dados em Biologia Molecular

Inteligência Artificial

MÉTODOS QUANTITATIVOS PARA CIÊNCIA DA COMPUTAÇÃO EXPERIMENTAL

Tutorial básico de classificação em RapidMiner

CLASSIFICADORES ELEMENTARES -II

Aprendizado indutivo. Marcelo K. Albertini. 17 de Abril de 2014

2284-ELE/5, 3316-IE/3. Universidade da Beira Interior, Departamento de Informática

Combinação de Classificadores (fusão)

INF 1771 Inteligência Artificial

AMOSTRAGEM. É a parte da Teoria Estatística que define os procedimentos para os planejamentos amostrais e as técnicas de estimação utilizadas.

scikit-learn: Aprendizado de máquina 101 com Python

CARACTERÍSTICAS ESTÁTICAS DE SISTEMAS DE MEDIÇÃO

Aprendizado Bayesiano Anteriormente...

Plano. Aspectos Relevantes de HMMs. Teoria de HMMs. Introdução aos Modelos Escondidos de Markov

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

Árvores de Decisão. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING Asterio K. Tanaka

INF 1771 Inteligência Artificial

MAC 0425/ Inteligência Artificial

Máquinas de suporte vetorial e sua aplicação na detecção de spam

Aprendizado Bayesiano

Estatística Descritiva

Aprendizado Bayesiano

TIPOS DE AMOSTRAGEM Amostragem Probabilística e Não-Probabilística. Amostragem PROBABILÍSTICA: Amostragem Aleatória Simples: VANTAGENS:

Árvore de Decisão. Capítulo 18 Russell & Norvig Seções 18.1 a 18.3

Aprendizado por Árvores de Decisão

1 Classificadores Bayseanos Simples

Aula 3 Representação do Conhecimento

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

Unidade I ESTATÍSTICA. Prof. Celso Ribeiro Campos

Introdução ao Datamining 4ºAno M, AN,FZ,EN-MEC,EN-AEL V 1.3, V.Lobo, EN 2008

INF 1771 Inteligência Artificial

FACULDADE CAMPO LIMPO PAULISTA (FACCAMP) COORDENADORIA DE EXTENSÃO E PESQUISA CURSO DE PÓS-GRADUAÇÃO LATO SENSU EM MINERAÇÃO E CIÊNCIA DOS DADOS

3 Técnicas de agrupamento

Mineração de Dados e Aprendizado de Máquinas. Rodrigo Leite Durães.

Aprendizado de Máquina

Redes Neurais e Sistemas Fuzzy

Inteligência Artificial Agrupamento de Dados. prof. Dr. Rogério R. de Vargas. Universidade Estadual de Santa Cruz - UESC. Ilhéus-Ba, Outubro de 2013

Prof.: Eduardo Vargas Ferreira

Tópicos em Mineração de Dados

Preparação dos Dados 1

2 Sentiment Analysis 2.1

Árvore Binária de Busca Ótima

Aprendizagem de Máquina

Aula 7 Medidas de Distância. Profa. Elaine Faria UFU

CLASSIFICADORES BAEYSIANOS

Prof. Júlio Cesar Nievola Data Mining PPGIa - PUCPR

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística

KDD E MINERAÇÃO DE DADOS

Métodos de Classificação por Árvores de Decisão Disciplina de Projeto e Análise de Algoritmos

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Inteligência Artificial

Classificação de dados em modelos com resposta binária via algoritmo boosting e regressão logística

Sistemas de Apoio à Decisão Árvores de decisão V 1.2, V.Lobo, EN/ISEGI, 2010

Distribuições Amostrais e Estimação Pontual de Parâmetros

4 Análise dos dados Perfil dos participantes

Árvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO

Transcrição:

Índice Classificação Supervisionada e Árvores de Decisão Eduardo Laber 1. Problema de Classificação 2. Árvore de Decisão 1. Preliminares 2. Construindo uma árvore de decisão 3. Definindo atributos de teste 4. Selecionando o melhor atribute teste 3. Avaliando o Desempenho de Classificadores Problema de Classificação Problema de Classificação Atribuir objetos de um conjunto a classes pré-definidas Classificar emails como spam ou não spam Classificar clientes quanto ao risco de crédito Atributos do Objeto Modelo de Clasificação Classe 1

Problema de Classificação Entrada Conjunto de registros ou instâncias do tipo (x,y), onde x é um conjunto de atributos que define a instância e y é um atributo especial que define a classe da instância Os atributos de x podem ser contínuos ou discretos O atributo y deve ser discreto. Esta requisição é que distingui classificação de regressão Problema de Classificação Id Devolução? Est. Civil Salário Anual 1 S Solteiro 125K N 2 N Casado 100K N 3 N Solteiro 70K N 4 S Casado 120K N 5 N Divorciado 95K S 6 N Casado 60K N 7 S Divorciado 220K N 8 N Solteiro 85K S 9 N Casado 75K N 10 N Solteiro 90K S Sonega Problema de Classificação Classificação é a tarefa de aprender uma função alvo f que mapeia cada conjunto de atributos x em uma das classes prédefinidas Função alvo f também conhecida como modelo de classificação Objetivos Descrição O modelo de classificação serve como ferramenta para explicar as principais diferenças entre objetos de classes diferentes Predição Dado um registro cuja classe é desconhecida, o modelo de classificação permite prever sua classe 2

10 10 14/06/2017 Técnicas de Classificação Abordagem sistemática para construir modelos de classificação a partir dos dados de entrada Exemplos Árvores de decisão Redes neurais/ deep learning Support Vector Machines (SVM) Naïve Bayes K Vizinhos mais próximos Técnicas de Classificação Empregam um algoritmo de aprendizado para identificar o modelo que melhor captura a relação entre cada conjunto de atributos e a classe correspondente O modelo gerado pelo algoritmo de aprendizado deve se adequar bem aos dados de entrada e ter uma boa capacidade de generalização Técnicas de Classificação Técnicas de Classificação Tid Atrib1 Atrib2 Atrib3 Class 1 Grande 125K 2 Mediio 100K 3 o Pequeno 70K 4 Médio 120K 5 Grande 95K 6 Médio 60K 7 Grande 220K No 8 Pequeno 85K 9 Ñão Médio 75K Indução Algoritmo de Aprendizado Aprenda Modelo Avaliação de um modelo de Classificação Matriz de Confusão. Entrada (i,j) indica quantos elementos da classe i o modelo prevê estar na classe j 10 Médio 90K Conjunto de Treino Tid Atrib1 Atrib2 Atrib3 Class 11 Pequeno 55K? Aplique Modelo Modelo Matriz de confusão de um classifcador binário Classe Prevista Classe = 1 Classe = 0 12 Médio 80K? 13 Grande 110K? 14 Pequeno 95K? 15 Grande 67K? Conjunto de Teste Dedução Classe Real Classe = 1 f 11 f 10 Classe = 0 f 01 f 00 3

Técnicas de Classificação Avaliação de um modelo de Classificação Acurácia Número de predições corretas Número total de predições Matriz de confusão de um classifcador binário Classe Real Classe Prevista Classe = 1 Classe = 0 Classe = 1 f 11 f 10 Classe = 0 f 01 f 00 Taxa de erro Número de predições erradas Número total de predições Acurácia f 00 f11 f f f 01 00 10 f 11 Acurácia deve ser maximizada/ taxa de erro minimizada Taxa de erro f 00 f f 10 01 f f 01 10 f 11 Exemplo de Árvore de Decisão Exemplo de Árvore de Decisão Atributos de Separação Id Devolução? Est. Civil Conjunto de Treino Salário Anual 1 S Solteiro 125K N 2 N Casado 100K N 3 N Solteiro 70K N 4 S Casado 120K N 5 N Divorciado 95K S 6 N Casado 60K N 7 S Divorciado 220K N 8 N Solteiro 85K S 9 N Casado 75K N 10 N Solteiro 90K S Sonega Devol. Est. Civil Solteiro, Divorciado Casado Salário < 80K > 80K Modelo: Árvore de Decisão Id Devolução? Est. Civil Conjunto de Treino Salário Anual 1 S Solteiro 125K N 2 N Casado 100K N 3 N Solteiro 70K N 4 S Casado 120K N 5 N Divorciado 95K S 6 N Casado 60K N 7 S Divorciado 220K N 8 N Solteiro 85K S 9 N Casado 75K N 10 N Solteiro 90K S Sonega Est. Civil Casado Solteiro Divorciado Devol? Salário < 80K > 80K Pode haver mais de uma árvore que se adeque aos mesmos dados 4

10 10 14/06/2017 Árvores de Decisão Estrutura da Árvore Raíz Ponto de partida Nós Internos Correspondem aos atributos testados Folhas Determinam a classe Arcos Valores dos atributos Exercício Prático Abrir arquivo Iris.csv Aplicar J.48 com parâmetros default e percentage split =66% Desenhar árvore gerada Qual foi o percentual de acerto? Quantos exemplos da classe IrisVertigosa foram classificados de forma incorreta? Aplicando o Modelo Aplicando o Modelo Tid Atrib1 Atrib2 Atrib3 Class 1 Grande 125K Algoritmo de Aprendizado Comece da raíz da árvore. ID A1 A2 A3 Classe AG35816-30.1 5.58 3.18? 2 Medio 100K 3 o Pequeno 70K 4 Médio 120K 5 Grande 95K 6 Médio 60K 7 Grande 220K No 8 Pequeno 85K 9 Ñão Médio 75K 10 Médio 90K Conjunto de Treino Tid Atrib1 Atrib2 Atrib3 Class Indução Aprenda Modelo Aplique Modelo Modelo A2>-30 A1>2.2 11 Pequeno 55K? 12 Médio 80K? 13 Grande 110K? Dedução 14 Pequeno 95K? 15 Grande 67K? Conjunto de Teste 5

Aplicando o Modelo Aplicando o Modelo Comece da raíz da árvore. ID A1 A2 A3 Classe AG35816-30.1 5.58 3.18? Comece da raíz da árvore. ID A1 A2 A3 Classe AG35816-30.1 5.58 3.18? A2>-30 A1>2.2 A2>-30 A1>2.2 Aplicando o Modelo Aplicando o Modelo Comece da raíz da árvore. ID A1 A2 A3 Classe AG35816-30.1 5.58 3.18? Comece da raíz da árvore. ID A1 A2 A3 Classe AG35816-30.1 5.58 3.18? A2>-30 A1>2.2 A2>-30 A1>2.2 6

10 10 14/06/2017 Aplicando o Modelo Construindo a Árvore Comece da raíz da árvore. ID A1 A2 A3 Classe AG35816-30.1 5.58 3.18 Tid Atrib1 Atrib2 Atrib3 Class 1 Grande 125K 2 Medio 100K Algoritmo de Aprendizado A2>-30 A1>2.2 3 o Pequeno 70K 4 Médio 120K 5 Grande 95K 6 Médio 60K 7 Grande 220K 8 Pequeno 85K 9 Ñão Médio 75K 10 Médio 90K Conjunto de Treino Tid Atrib1 Atrib2 Atrib3 Class 11 Pequeno 55K? Indução Aprenda Modelo Aplique Modelo Modelo 12 Médio 80K? 13 Grande 110K? 14 Pequeno 95K? Dedução 15 Grande 67K? Conjunto de Teste Construindo a Árvore Vários Algoritmos A maioria deles são variações do algoritmo de Hunt ID3, C4.5 CART Estrutura do algoritmo de Hunt D t conjunto de registros que alcançam o nó t Procedimento: Se todos registros de D t são da mesma classe y t, t é uma folha com rótulo y t Se D t =, então t é uma folha com rótulo igual a classe dominante do pai de t Se D t contem registros de classes diferentes, utilize um atributo para dividir D t em diferentes subconjuntos. Crie um nó para cada um destes e aplique recursivamente o procedimento para cada um dos nós A1 A2 A3 Classe -29.61 2.00 1.85-29.54 1.39 1.876-24.91 3.76 1.44-24.47 3.56 1.53-24.5 3.5 1.62-32.55 15.47 0.81-32.75 15.04 0.72-32.02 18.49 0.77-28.1 2.44 1.047-27.1 2.16 0.61? D t 7

Algoritmo de Hunt Algoritmo de Hunt, A1 A2 A3 Classe -29.61 2.00 1.85-29.54 1.39 1.876, A1 A2 A3 Classe -29.61 2.00 1.85-29.54 1.39 1.876,, -24.91 3.76 1.44-24.47 3.56 1.53-24.91 3.76 1.44-24.47 3.56 1.53-24.5 3.5 1.62-24.5 3.5 1.62-32.55 15.47 0.81-32.75 15.04 0.72-32.02 18.49 0.77-32.55 15.47 0.81-32.75 15.04 0.72-32.02 18.49 0.77 A1>-30, -28.1 2.44 1.047-27.1 2.16 0.61-28.1 2.44 1.047-27.1 2.16 0.61 A1>-30 A2>2.2 Algoritmo de Hunt Algoritmo de Hunt, A1 A2 A3 Classe -29.61 2.00 1.85-29.54 1.39 1.876, A1 A2 A3 Classe -29.61 2.00 1.85-29.54 1.39 1.876,, -24.91 3.76 1.44-24.47 3.56 1.53,, -24.91 3.76 1.44-24.47 3.56 1.53-24.5 3.5 1.62-24.5 3.5 1.62-32.55 15.47 0.81-32.75 15.04 0.72-32.02 18.49 0.77-32.55 15.47 0.81-32.75 15.04 0.72-32.02 18.49 0.77-28.1 2.44 1.047-27.1 2.16 0.61 A1>-30, -28.1 2.44 1.047-27.1 2.16 0.61 8

Algoritmo de Hunt Estrutura do algoritmo de Hunt,,, A1 A2 A3 Classe -29.61 2.00 1.85-29.54 1.39 1.876-24.91 3.76 1.44-24.47 3.56 1.53-24.5 3.5 1.62-32.55 15.47 0.81-32.75 15.04 0.72-32.02 18.49 0.77 Observação É possível que não exista um atributo que permita subdividir D t.. Neste caso t é uma folha cujo rótulo é o da classe dominante em D t Id Devolução? Est. Civil Salário Anual 1 N Solteiro 100K S 2 N Solteiro 100K N 3 N Solteiro 100K N 4 N Solteiro 100K N D t Sonega A1>-30, -28.1 2.44 1.047-27.1 2.16 0.61? A1>-30 A2>2.2 Estrutura do algoritmo de Hunt Indução Observação É possível que não exista um atributo que permita subdividir D t.. Neste caso t é uma folha cujo rótulo é o da classe dominante em D t Id Devolução? Est. Civil Salário Anual 1 N Solteiro 100K S 2 N Solteiro 100K N 3 N Solteiro 100K N 4 N Solteiro 100K N D t sonega Sonega Abordagem Gulosa Divida os registros utilizando um atributo que otimize um dado critério Questões Determinar como dividir os registros Como especificar a condição de teste para o atributo Como encontrar a melhor divisão Quando parar a divisão? 9

Como especificar a condição de teste? Depende do tipo do atributo Nominal Ordinal Contínuo Depende do número de valores que o atributo pode assumir Atributos binários Atributos k-ários Divisão baseada em atributos nominais Multi-divisão: um conjunto para cada valor distinto Divisão binária: Divisão dos valores em dois conjuntos {Mestrado, Doutorado} Escolaridade Escolaridade Graduação {Graduaçao} Mestrado OU Doutorado Doutorado Escolaridade {Mestrado, Graduação} Divisão baseada em atributos contínuos Possibilidades Discretização Estática uma única discretização no início Dinâmica faixas são calculadas ao longo do algoritmo utilizando alguma técnica de agrupamento Decisão Binária: (A < v) or (A v) considerar todas as possibilidades e encontrar a melhor divisão Pode ser cara computacionalmente Divisão baseada em atributos contínuos sim Idade >20? não (i) Divisão binária <10 Idade (ii) Multi Divisão > 40 [10,20) [20,30) [30,40) 10

Indução Abordagem Gulosa Divida os registros utilizando um atributo de teste que otimize um dado critério Questões Determinar como dividir os registros Como especificar a condição de teste para o atributo Como encontrar a melhor divisão Quando parar a divisão? Como determinar a melhor divisão Carro Próprio? Antes da Divisão: 10 registros da classe 0 10 registros da classe 1 Familia C 0 : 6 C 1 : 4 C 0 : 4 C 1 : 6 C 0 : 1 C 1 : 3 Tipo carro? Esporte C 0 : 8 C 1 : 0 C 0 : 1 C 1 : 7 Qual é a melhor condição? Luxo c 1 C 0 : 1 C 1 : 0... c 10 Estudante ID? C 0 : 1 C 1 : 0 c 11 C 0 : 0 C 1 : 1 c 20... C 0 : 0 C 1 : 1 Como determinar a melhor divisão Abordagem Gulosa: Nós com distribuição não homogênea em relação as classes são preferidos Necessidade de uma medida de impureza para os nós Medidas de Impureza dos nós Várias posssibilidades Índice Gini Entropia Erro de classificação C0: 5 C1: 5 homogenea, Alto grau de impureza C0: 9 C1: 1 homogênea Baixo grau de impureza 11

Como encontrar a melhor divisão Antes da divisão: Medida 0 (M0) A? B? Nó N1 Nó N2 Nó N3 Nó N4 C0 N10 C0 N20 C0 N30 C0 N40 C1 N11 C1 N21 C1 N31 C1 N41 M1 M2 M3 M4 M12 M34 Ganho = M0 M12 vs M0 M34 Medidas de Impureza: GINI Índice Gini para o nó t : GINI ( t) 1 p( j t) é a frequência relativa da classe j no nó t. j [ p( j t)] Máximo igual a 1-1/n c quando todos os registros são igualmente distribuidos entre as classes, o que implica em pouca discriminação Mínimo igual a 0 quando todos os registros pertencem a uma única classe, implicando em uma melhor discriminação 2 Computando o índice GINI C1 0 C2 6 C1 1 C2 5 GINI ( t) 1 j [ p( j t)] P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Gini = 1 P(C1) 2 P(C2) 2 = 1 0 1 = 0 P(C1) = 1/6 P(C2) = 5/6 Gini = 1 (1/6) 2 (5/6) 2 = 0.278 2 Divisão baseada no GINI Utilizado nos algoritmo CART e em outros Quando um nó p é dividido em k conjuntos (filhos), a qualidade da divisão é computada como GINI divisão k i1 ni GINI ( i) n C1 2 C2 4 P(C1) = 2/6 P(C2) = 4/6 Gini = 1 (2/6) 2 (4/6) 2 = 0.444 onde, n i = número de registros do filho i, n = número de registros do nó p 12

Atributos binário: Computando o GINI Divide em dois conjuntos B? No P a i C1 6 C2 6 Atributos Nominais: Computando o Índice Gini Para cada valor distinto, conte o número de registros de cada classe Nó N1 Nó N2 G i n i = 0. 5 0 0 Multi-divisão Divisão Binária (encontrar melhor partição) Gini(N1) = 1 (4/7) 2 (3/7) 2 = 0.4898 Gini(N2) = 1 (2/5) 2 (3/5) 2 = 0.480 Ganho= Gini B -7/12Gini(N1) -5/12 Gini(N2) Gini B = 7/12 * 0.4898 + 5/12 * 0.480 = 0.486 Tipo de Carro Esporte, Familia Luxo C1 3 1 C2 2 4 Gini 0.400 Tipo de Carro Familia, Esporte Luxo C1 2 2 C2 1 5 Gini 0.419 Atributos Contínuos: Computando o Gini Utilizar decisões binárias baseadas em um valor Várias possibilidades Número de possibilidades= número de valores distintos Para cada possibilidade calcule o GINI asociado e escolha o melhor deles Caro computacionalemente Pode ser otimizado Origem alpha beta gamma Classe AG -29.61 2.00 1.85 AG -29.54 1.39 1.876 EP -24.91 3.76 1.44 EP -24.47 3.56 1.53 EP -24.5 3.5 1.62 PT -32.55 15.47 0.81 PT -32.75 15.04 0.72 PT -32.02 18.49 0.77 PM -28.1 2.44 1.047 PM -27.1 2.16 0.61 alpha >-1.047 Valores Divisões Atributos Contínuos: Computando o Gini Sonega Salário Anual 60 70 75 85 90 95 100 120 125 220 55 65 72 80 87 92 97 110 122 172 230 <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > 0 3 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0 Nao 0 7 1 6 2 5 3 4 3 4 3 4 3 4 4 3 5 2 6 1 7 0 Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420 13

Outra Medida baseada em Teoria da Informação Entropia do nó t: Entropia ( t) p( j t)log p( j t) j p( j t) é a frequência relativa da classe j no nó t ). Comportamento Máximo (log (número de classes)) quando todos registros estão igualmente distribuídos entre as classes. Pouca discriminação Mínimo (0). Todos os registros pertencem a uma única classe. Discriminação perfeita. C1 0 C2 6 C1 1 C2 5 C1 2 C2 4 Calculando a Entropia Entropia t) p( j t)log p( j t) ( 2 j P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Entropia = 0 log 0 1 log 1 = 0 0 = 0 P(C1) = 1/6 P(C2) = 5/6 Entropia = (1/6) log 2 (1/6) (5/6) log 2 (1/6) = 0.65 P(C1) = 2/6 P(C2) = 4/6 Entropia = (2/6) log 2 (2/6) (4/6) log 2 (4/6) = 0.92 Divisão baseada na entropia Ganho de Informação: GAIN split Entropia ( p) ni Entropia( i) n O nó pai, p é dividido em k partições; n i é o número de registros da partição i Encontrar divisão que maximiza o ganho de informação Utilizado nos métodos ID3 e C4.5 Desvantagem: tende a preferir divisões que resultam em um grande número de subconjuntos, cada um deles pequeno e puro (GINI também tem este problema) k i1 Divisão baseada no erro de classificação Erro de classificação no nó t : Comportamento Erro( t) 1 max p( i t) Máximo (1-1/n c ) quando todos registros estão igualmente distribuídos entre as classes. Pouca discriminação. N c e o numero de classes de t. Mínimo (0.0) Todos os registros pertencem a uma única classe. Discriminação perfeita. i 14

Computando o Erro Erro( t) 1 max p( i t) i Comparação entre critérios de divisão Problema com duas classes: C1 0 C2 6 P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Erro = 1 max (0, 1) = 1 1 = 0 C1 1 C2 5 P(C1) = 1/6 P(C2) = 5/6 Erro = 1 max (1/6, 5/6) = 1 5/6 = 1/6 C1 2 C2 4 P(C1) = 2/6 P(C2) = 4/6 Erro = 1 max (2/6, 4/6) = 1 4/6 = 1/3 Comparação entre critérios de divisão Pesquisas mostram que na prática não faz muita diferença Limitações Medidas mostradas tendem a favorecer atributos com um grande número de divisões Qual atributo abaixo prove maior ganho? Tipo carro? Estudante ID? Familia C 0 : 1 C 1 : 3 Esporte C 0 : 8 C 1 : 0 Luxo c 1 C 0 : 1 C 1 : 7 C 0 : 1 C 1 : 0... c 10 C 0 : 1 C 1 : 0 c 11 C 0 : 0 C 1 : 1 c 20... C 0 : 0 C 1 : 1 15

Limitações Como contornar o problema Somente utilizer atributos binários Utilizar um fator de ajuste, como exemplo Razão de Ganho Razão de Ganho GainRATIO split GAIN Split SplitINFO SplitINFO k i1 ni ni log n n n i : número de registros atribuídos ao filho i Valor cresce com o número de partições (k) e com a homogeneidade da partição Ajusta o ganho de informação utilizando o (SplitINFO). Utilizada no algoritmo C4.5 em conjunto com a entropia Projetada para lidar com o problema detetado na medida de ganho de informação Indução Abordagem Gulosa Divida os registros utilizando um atributo de teste que otimize um dado critério Questões Determinar como dividir os registros Como especificar a condição de teste para o atributo Como encontrar a melhor divisão Quando parar a divisão? Critério de Parada Parar de expandir um nó quando todos registros pertencem a mesma classe Parar de expandir um nó quando todos registros tem valores de atributos iguais Transformar o nó em folha e atribuir a classe dominante Terminação precoce (será discutido mais adiante) 16

Overfitting Underfitting Modelo se adequa demasiadamente a características particulares do conjunto de aprendizado Prejudica a generalização Quando o modelo é muito simples, tanto o erro de treinamento quanto o erro de teste são grandes Considerar poucas características do objeto a ser classificado não permite determinar sua classe Underfitting e Overfittng Underfitting e Overfitting Overfitting 500 pontos circulares e 500 pontos triangulares Pontos circulares: 0.5 sqrt(x 12 +x 22 ) 1 Pontos Triangulares: sqrt(x 12 +x 22 ) < 0.5 ou sqrt(x 12 +x 22 ) > 1 17

Overfitting devido a ruído Conjunto treino Overfitting devido a ruído Conjunto teste Espécie Temperatura do Corpo Gestação Quadrúpede Hiberna Mamífero ouriço sangue quente S S S S gato sangue quente S S N S morcego sangue quente S N S N (incorreto) Baleia sangue quente S N N N (incorreto) Salamandra sangue frio N S S N Dragão de Komodo sangue frio N S N N Jibóia sangue frio N N S N Salmão sangue frio N N N N Aguia sangue quente N N N N Guppy sangue frio S N N N Espécie Temperatura do Corpo Gestação Quadrúpede Hiberna Mamífero homem sangue quente S N N S passaro sangue quente N N N N Elefante sangue quente S S N S Tartaruga sangue frio N S N N Tubarão TIgre sangue frio S N N N Pinguim sangue frio N N N N enguia sangue frio N N N N golfinho sangue quente S N N S tamandua sangue quente N S S S gila monster sangue frio N S S N Overfitting devido a ruídos Temperatura Overfitting devido a ruídos Temperatura Quente Frio Quente Frio S S 4 pernas? N Da luz? N S Da luz? N Erro no conjunto de treino é 0 Erro no conjunto de teste é 30% (homem, golfinho, tamandua) Erro no conjunto de treino é 20% (morcego, baleia) Erro no conjunto de teste = 10 % (tamandua) 18

Overfitting devido a ruídos Overfitting- falta de exemplos suficientes Nome Temperatura do corpo Da luz 4 pernas Hiberna Mamifero Salamandra sangue frio N S S N guppy sangue frio S N N N aguia sangue quente N N N N poorwill sangue quente N N S N ornitorrinco sangue quente N S S S A fronteira é distorcida devido ao ruído Temperatura Quente Frio Hiberna? S N 4 pernas? S N Qual o erro de classificação desta árvore no conjunto treino? Overfitting- falta de exemplos suficientes Overfitting- falta de exemplos suficientes Nome Temperatura do corpo Da luz 4 pernas Hiberna Mamifero Salamandra sangue frio N S S N guppy sangue frio S N N N aguia sangue quente N N N N poorwill sangue quente N N S N ornitorrinco sangue quente N S S S Nome Temperatura do corpo Da luz 4 pernas Hiberna Mamifero Salamandra sangue frio N S S N guppy sangue frio S N N N aguia sangue quente N N N N poorwill sangue quente N N S N ornitorrinco sangue quente N S S S Temperatura Quente Frio Temperatura Quente Frio Hiberna? S N 4 pernas? S N Como humanos, elefantes e golfinhos seriam classificados? Hiberna? S N 4 pernas? S N Baseando-se em 5 exemplos foi concluído que os únicos s são os animais de sangue quente que hibernam e com 4 pernas 19

Overfitting- falta de exemplos suficientes Aprender em cima de um número pequeno de registros pode levar a generalizações bastante equivocadas! Overfitting: Multiple Comparison procedures Queremos descobrir em qual analista financeiro vamos confiar para investir em ações Temos 50 analistas com seus históricos de previsões nos últimos 10 anos para cada ano i temos a informação se o analista j disse se a bolsa ia subir ou descer e também se ele acertou a previsão ou não Overfitting: Multiple Comparison procedures O analista que acertou mais acertou 90% das vezes Devemos aplicar nosso dinheiro com esse analista? Overfitting: Multiple Comparison procedures Se 50 analistas dão palpites aleatórios ao longo de 10 anos se a bolsa vai subir ou descer então: A probabilidade que um dado analista acerte pelo menos 90% das vezes é de 0.0107 Entretanto, a probabilidade de que pelo menos um deles acerte pelo menos 90% das vezes é 1-(1-0.0107) 50 = 0.41 20

Overfitting: Multiple Comparison procedures O fato de um analista acertar 90% das vezes não tem nada de surpreendente Overfitting: Multiple Comparison procedures Durante o processò de construção de uma árvore de decisão é possível encontrar um atributo que gera uma partição bastante desbalanceada (boa) mas não necessariamente o atributo generaliza bem Devemos descontar o fato de exisitir muitos atributos/ poucos exemplos Overfitting Overfitting resulta em árvores de decisão mais complexas do que o necessário O erro de treinamento não provê uma boa estimativa do desempenho do modelo no conjunto de teste Estimando Erros de Generalização Métodos para estimar erros de generalização Abordagem Otimista: e (t) = e(t) Assume que o erro no conjunto de treino é uma boa estimativa para o erro no conjunto de teste Na prática isto raramente se confirma São necessários novos métodos para estimação de erros. 21

Occam s Razor Princípio da Parsimonia Dados dois modelos com capacidades de generalização similares, o modelo menos complexo deve ser preferido Árvores com menos nós Para modelos complexos, existe uma chance maior que este se adeque por acaso Portanto, a complexidade do modelo deve ser levada em conta ao avaliá-lo Make everything as simple as possible, but not simpler Albert Einstein Estimando Erros de Generalização Abordagem Pessimisa: Penaliza o número de folhas, ou seja, a complexidade do modelo Para cada folha u: e (u) = (e(u)+ penalidade ) Total de erros: e (T) = e(t) + N penalidade N: número de folhas Árvore com 30 folhas, 10 erros no conjunto de treino (de 1000 instâncias) e penalidade = 0.5 Erro no treinamento = 10/1000 = 1% Erro de Generalização = (10 + 300.5)/1000 =2.5% Estimando Erros de Generalização Reduced error pruning (REP): Utilizar parte do conjunto de treino para validação. Tipicamente, 2/3 para construir o modelo e 1/3 para validar O conjunto de tamanho 1/3 é utilizado para ajustar o modelo (e.g. condição de poda da árvore). Busca-se minimizar o erro no conjunto de tamanho 1/3 Vantagem: Permite estimar melhor como o modelo se comporta com registros novos Desvantagem: menos dados são utilizados para treinar o modelo 22

Como lidar com Overfitting Pre-Poda (Regras de Parada) Parar o algoritmo antes que a árvore completa seja construída Condições de Parada típicas para um nó Pare se todas as instâncias pertencem a mesma classe Pare se todos os valores de atributos são iguais Condições mais restritivas: Pare se o número de registros esta abaixo de um limiar especificado pelo usuário Pare se a distribuição das classes dos registros é independente dos atributos disponíveis (e.g., utilizando o teste 2 ) Pare se expandir o nó corrente não melhora a medida de impureza (e.g., Gini ou ganho de informação). Como lidar com Overfitting Pos-poda Construa a árvore completa Remova os nós de baixo para cima Se o erro de generalização melhora após um corte, substitua a subárvore por um nó A classe de um nó é determinada pela classe dominante Utilizar o princípio MDL Exemplo de Pos-Poda Classe = 20 Erro de treino (antes da divisão) = 10/30 Erro pessimista = (10 + 0.5)/30 = 10.5/30 Classe = 10 Erro de treino (Após divisão) = 9/30 Erro = 10/30 Erro pessimista (Após divisão)= (9 + 4 0.5)/30 = 11/30 PODE! A? A1 A4 A2 A3 Classificação baseada em árvores de decisão Vantagens Baixo custo computacional Permite classificar rapidamente registros com classes desconhecidas Árvores pequenas são fáceis de interpretar Capacidade de predição comparável a outras técnicas Classe =S 8 Classe =N 4 Classe =S 3 Classe =N 4 Classe =S 4 Classe =N 1 Classe =S 5 Classe =N 1 23

Outros Aspectos Valores Ausentes Fragmentação Estratégia de Busca Expressividade Lidando com valores ausentes Valores ausentes afetam a construção da árvore de decisão de três formas diferentes Como as medidas de impureza são computadas Como distribuir as instâncias com valores ausentes entre os nós filhos Como classificar uma instância de teste cujo valor de um atributo esta ausente. Computando a Medida de Impureza Computando a Medida de Impureza Id Devolução? Est. Civil Valor ausente Salário Anual 1 S Solteiro 125K N 2 N Casado 100K N 3 N Solteiro 70K N 4 S Casado 120K N 5 N Divorciado 95K S 6 N Casado 60K N 7 S Divorciado 220K N 8 N Solteiro 85K S 9 N Casado 75K N 10? Solteiro 90K S Sonega Antes da divisão Entropia(nó pai) = -0.3 log(0.3)-(0.7)log(0.7) = 0.8813 Atrubuto Classe=S Classe=N Devolução= S 0 3 Devolução =N 2 4 Devolução =? 1 0 Id Devolução? Est. Civil Valor ausente Salário Anual 1 S Solteiro 125K N 2 N Casado 100K N 3 N Solteiro 70K N 4 S Casado 120K N 5 N Divorciado 95K S 6 N Casado 60K N 7 S Divorciado 220K N 8 N Solteiro 85K S 9 N Casado 75K N 10? Solteiro 90K S Sonega Divisão: exemplo distribuido entre valores possíveis S C l a s s e = S 0 + 3 / 9 C l a s s e = N 3 Devolução Divisão no atributo devolução: Entropia(devolução=) = -0.1 log(0.1) -0.9 log(0.9) Entropia(devolução=) =- (0.4)log(0.4)-(0.6)log(0.6) Ganho = 0.883 (1/3*E1+2/3*E2) N C l a s s e = S 2 + 6 / 9 C l a s s e = N 4 24

Classificar Instâncias Classificar Instâncias Novo registro Id Devolução? Est. Civil Salário Anual 11? 85K? Sonega Casado Solteiro Divorciado Total Classe=N 3 1 0 4 Classe=S 6/9 1 1 2.67 Novo registro Id Devolução? Est. Civil Salário Anual 11? 85K? Sonega Casado Solteiro Divorciado Total Classe=N 3 1 0 4 Classe=S 6/9 1 1 2.67 Devolução Total 3.67 2 1 6.67 Devolução Total 3.67 2 1 6.67 N Solteiro, Divorciado N Salário Est. Civil < 80K > 80K S Casado N N Solteiro, Divorciado N Salário Est. Civil < 80K > 80K S Casado N Pr[estado civil= casado]= 3.67/6.67 Pr[Est. civil={solteiro,divorciado}]= 3/6.67 Podemos usar uma classificação probabilistica considerando os varios caminhos possíveis Fragmentação Número de registros se torna menor quando decemos na árvore O número de registros pode se tornar muito pequeno para que qualquer decisão significativa do ponto de vista estatístico possa ser feita Estratégia de Busca Encontrar a melhor árvore é difícel computacionalmente (NP-hard) Os algoritmos apresentados utilizam uma estratégia gulosa para obter uma solução razoável 25

Expressividade 1 Fronteira de Decisão Árvores de Decisão permitem representações expresivas para aprender funções com valor discreto y 0.9 0.8 0.7 0.6 0.5 x < 0.43? Yes No y < 0.47? y < 0.33? são suficientemente expressivas para modelar variáveis contínuas Em particular quando a condição de teste envolve um único atributo por vez. 0.4 0.3 0.2 0.1 0 x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Yes : 4 : 0 No Yes No : 0 : 4 : 0 : 3 : 4 : 0 Fronteira de decisão: linha que separa regiões vizinhas de diferentes classes A fronteira de decisão é paralela aos eixos quando o teste envolve um único atributo Árvores de Decisão Obliquas A condição de teste pode involver vários atributos Mais expressivo x + y < 1 Classe = + Classe = Encontrar uma boa condição de teste pode ser bastante caro computacionalemente Algumas Árvores C4.5 Partições k-árias Utiliza ganho de informação / Gain Ratio Cart Gini Index Paritções binárias GUIDE, CHAID, 26