Algoritmos para Classificação

Documentos relacionados
1R: aprende uma regra por atributo

Métodos para Classificação: - Naïve Bayes.

Classificação: 1R e Naïve Bayes. Eduardo Raul Hruschka

Regras Rudimentarias

Método para Classificação: - Naïve Bayes.

Naïve Bayesian Learning. Marcílo Souto DIMAp/UFRN

Aprendizagem de Máquina

Aprendizado de Máquina

Aprendizagem de Máquina

Universidade Federal do Paraná (UFPR) Bacharelado em Informática Biomédica. Árvores de Decisão. David Menotti.

Aprendizado de Máquina

Aurora Trinidad Ramirez Pozo Universidade Federal do Paraná

Classificação. Eduardo Raul Hruschka

Árvore de Decisão. George Darmiton da Cunha Cavalcanti Tsang Ing Ren CIn/UFPE

Árvores de Decisão. Sistemas Inteligentes

Créditos. SCC0173 Mineração de Dados Biológicos. Aula de Hoje. Introdução. Classificação III: Árvores de Decisão

Inteligência Computacional [2COP229]

SISTEMAS INTELIGENTES

Aprendizagem Bayesiana

Inteligência nos Negócios (Business Inteligente)

APRENDIZAGEM DE MÁQUINA

Thiago Marzagão 1. 1 Thiago Marzagão (Universidade de Brasília) MINERAÇÃO DE DADOS 1 / 21

Aprendizagem de Máquina

Aprendizagem de Máquina

Aprendizagem de Máquina

Fundamentos de Inteligência Artificial [5COP099]

lnteligência Artificial Aprendizagem em IA

Inteligência Artificial

Aprendizado em IA. Prof. Carlos H. C. Ribeiro ITA Divisão de Ciência da Computação

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

SCC0173 Mineração de Dados Biológicos

Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Abordagens automáticas

Árvores de Decisão. Sistemas Inteligentes

Árvores de decisão. Marcelo K. Albertini. 17 de Agosto de 2015

1ª Lista de Exercícios

Inteligência Artificial

Aprendizado de Máquina (Machine Learning)

Lista de Exercícios - Capítulo 8 [1] SCC Inteligência Artificial 1o. Semestre de Prof. João Luís

Aprendizado de Máquina

Árvores de Decisão. Sarajane M. Peres. março de 2015

Weka. Universidade de Waikato - Nova Zelândia. Coleção de algoritmos de aprendizado de máquina para resolução de problemas de Data Mining

ÁRVORES DE DECISÃO PROFA. MARIANA KLEINA

CLASSIFICADORES BAEYSIANOS

4 Algoritmos de Aprendizado

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

SCC Capítulo 9 Indução de Árvores de Decisão

lnteligência Artificial Introdução a Aprendizado de Máquina

O objetivo da Mineração de Dados é extrair ou minerar conhecimento de grandes volumes de

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

INF 1771 Inteligência Artificial

Metodologia Aplicada a Computação.

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

Aprendizagem de Máquina

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

Saída: Representação de conhecimento

Aprendizado de Máquina. Conteudo. Terminologia. Notes. Notes. Notes. Notes. Aprendizagem Bayesiana. Luiz Eduardo S. Oliveira

SUPPORT VECTOR MACHINE - SVM

Aprendizagem de Máquina. Prof. Júlio Cesar Nievola PPGIA - PUCPR

Inteligência Artificial

Aprendizagem indutiva

Aprendizado de Máquina (Machine Learning)

2284-ELE/5, 3316-IE/3

Seleção de Atributos 1

21/02/17. Aprendendo pelas observações. PCS 5869 lnteligência Ar9ficial. Prof. Dr. Jaime Simão Sichman Prof. Dra. Anna Helena Reali Costa

Aprendizagem a partir de observações

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

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação

Aprendizado de Máquina

Múltiplos Classificadores

24/11/13. Aprendendo pelas observações. PCS 2428 / PCS 2059 lnteligência Ar9ficial. Prof. Dr. Jaime Simão Sichman Prof. Dra. Anna Helena Reali Costa

Algoritmos Evolutivos para Otimização

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

Aprendizado Bayesiano

Aula 8: Árvores. Rafael Izbicki 1 / 33

Á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.

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

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

Aprendizado de Máquina

Aprendizado Bayesiano Anteriormente...

Reconhecimento de Padrões

Combinação de Classificadores (fusão)

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

Busca em Regiões Ortogonais

Aprendizado Bayesiano

Métodos Não Paramétricos

Universidade Federal do Paraná (UFPR) Especialização em Engenharia Industrial 4.0. Classificação. David Menotti.

Créditos. SCC0173 Mineração de Dados Biológicos. Aula de Hoje. Desempenho de Classificação. Classificação IV: Avaliação de Classificadores

Aprendizado de Máquina (Machine Learning)

Universidade Federal do Paraná (UFPR) Especialização em Engenharia Industrial 4.0. Classificação. David Menotti.

Mineração de Dados - Introdução. Elaine Ribeiro de Faria UFU 2018

Aprendizagem de Máquina - 2. Prof. Júlio Cesar Nievola PPGIa - PUCPR

Aprendizado de Máquina

Aprendizado por Instâncias Janelas de Parzen & Knn

Á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.

Algoritmos Indutores de Árvores de. Fabrício J. Barth

Aula 3 Representação do Conhecimento

Redes Bayesianas. Prof. Júlio Cesar Nievola PPGIa Escola Politécnica PUCPR

Transcrição:

Mineração de Dados Algoritmos para Classificação 1 Sumário Algoritmo 1R Naïve Bayes Árvore de Decisão Regras Modelos Lineares (Regressão) Baseados em Instância (Vizinhos mais Próximos) 2 1

Atividades 3 Classificação Tarefa: Dado um conjunto pré-classificado de exemplos, construir um modelo capaz de classificar novos casos Aprendizado Supervisionado Classes são conhecidas para os exemplos usados para construir o classificador Um classificador pode ser um conjunto de regras, uma árvore de decisão, uma rede neural, etc. Aplicações típicas: aprovação de crédito, marketing direto, detecção de fraudes, etc. 4 2

Simplicidade em Primeiro Lugar Algoritmos simples geralmente traalham em Muitos tipos de estruturas simples Um atriuto resolve o prolema Todos os atriutos contriuem de forma igual e independente Cominação linear pode resolver Baseado em instâncias Regras lógicas simples Sucesso do método depende do domínio 5 Inferindo Regras Rudimentares 1R: aprende uma árvore de decisão de um nível Regras testam apenas um atriuto Versão ásica Um ramo para cada valor Cada ramo está associado a uma classe mais freqüente Taxa de erro: proporção de instâncias que não pertencem a classe correspondente Seleciona atriuto com a menor taxa de erro 6 3

Pseudo-código para 1R Para cada atriuto, Para cada valor do atriuto, cria uma regra: Conta a freqüência na qual cada classe aparece Encontra a classe mais freqüente Faz a regra associar esta classe ao valor do atriuto Calcula o erro das regras Seleciona a regra com a menor taxa de erro 7 Avaliando os atriutos do tempo Visual Temp Umidade Vento Jogar Sol Quente Alta Não Não Sol Quente Alta Sim Não Nulado Quente Alta Não Sim Chuva Agradável Alta Não Sim Chuva Frio Normal Não Sim Chuva Frio Normal Sim Não Nulado Frio Normal Sim Sim Sol Agradável Alta Não Não Sol Frio Normal Não Sim Chuva Agradável Normal Não Sim Sol Agradável Normal Sim Sim Nulado Agradável Alta Sim Sim Nulado Quente Normal Não Sim Chuva Agradável Alta Sim Não 8 Atriuto Regras Erros Erros Totais Visual Sol Não 2/5 4/14 Nulado Sim 0/4 Chuva Sim 2/5 Temp Quente Não * 2/4 5/14 Agradável Sim 2/6 Frio Sim 1/4 Umidade Alta Não 3/7 4/14 Normal Sim 1/7 Vento Não Sim 2/8 5/14 Sim Não * 3/6 * empates 4

Lidando com atriutos numéricos Discretizar atriutos numéricos Divide cada faixa de valores de atriuto em intervalos Ordena instâncias de acordo com os valores dos atriutos Coloca pontos de parada onde as classes mudam Minimiza o erro total Exemplo: temperatura Visual Temperatura Umidade Vento Jogar Sol 85 85 Não Não Sol 80 90 Sim Não Nulado 83 86 Não Sim Chuva 75 80 Não Sim 64 65 68 69 70 71 72 72 75 75 80 81 83 85 Sim Não Sim Sim Sim Não Não Sim Sim Sim Não Sim 9 Sim Não Supertreinamento Procedimento é sensível a ruídos Uma instância com uma classe atriuída erroneamente vai produzir um intervalo separado Solução: Forçar um número mínimo de instâncias na classe mais freqüente, por intervalo 10 5

Exemplo de Discretização Exemplo (com min = 3): 64 65 68 69 70 71 72 72 75 75 80 81 83 85 Sim Não Sim Sim Sim Não Não Sim Sim Sim Não Sim Sim Não Resultado final para atriuto de temperatura 64 65 68 69 70 71 72 72 75 75 80 81 83 85 Sim Não Sim Sim Sim Não Não Sim Sim Sim Não Sim Sim Não 11 Exemplo de Discretização 1) Ordenar dados e projetar numa dimensão com a sua classe A t :: 64 65 68 69 70 71 72 72 75 75 80 81 83 85 S N S S S N N S S S N S S N 64.5 70.5 72.0 77.5 84.0 73.5 2) p1 p2 p3 p4 p5 p6 p7 p8 3) S N S N S N S N 4) Para evitar overfitting, 1R usa número min. máximo de instâncias por intervalo com classe de maioria, excepto no último. Holte utiliza: 3, 6. Ex: 3 5) ----------------------------------------------------------------------------------------------- S S (maioria=3) 77..5 S < 3 12 6

Exemplo de Discretização Critério: Sempre que duas partições adjacentes tem a mesma classe de maioria, então deve-se fusionar sem afetar o sentido das regras. No exemplo, cada partição tem pelo menos 3 instâncias da classe de maioria, exceto na última partição Para o exemplo anterior, a regra ficava: Se temperatura <= 77.5, jogar, Caso contrário não jogar 13 1R Conjunto final de regras: Atriuto Regras Erros Erros Totais Visual Sol Não 2/5 4/14 Nulado Sim 0/4 Chuva Sim 2/5 Temperatura 77.5 Sim 3/10 5/14 > 77.5 Não* 2/4 Umidade 82.5 Sim 1/7 3/14 > 82.5 e 95.5 Não 2/6 > 95.5 Sim 0/1 Vento Falso Sim 2/8 5/14 Verdadeiro Não* 3/6 14 7

Modelagem Bayesiana Oposto do 1R: usa todos os atriutos Deve presumir que os atriutos são: Igualmente importantes Estatisticamente independente Saer o valor de um atriuto não diz nada sore o valor de outro, quando a classe é conhecida Presumir independência estatística quase sempre é incorreto Mas funciona em na prática 16 Proailidades para dados do tempo Visual Temperatura Umidade Vento Jogar Sim Não Sim Não Sim Não Sim Não Sim Não Sol 2 3 Quente 2 2 Alto 3 4 Falso 6 2 9 5 Nulado 4 0 Moderado 4 2 Normal 6 1 Verd 3 3 Chuva 3 2 Frio 3 1 Sol 2/9 3/5 Quente 2/9 2/5 Alto 3/9 4/5 Falso 6/9 2/5 9/14 5/14 Nulado 4/9 0/5 Moderado 4/9 2/5 Normal 6/9 1/5 Verd 3/9 3/5 Chuva 3/9 2/5 Frio 3/9 1/5 Visual Temp Umidade Vento Jogar Sol Quente Alto Falso Não Sol Quente Alto Verd Não Nulado Quente Alto Falso Sim Chuva Moderado Alto Falso Sim Chuva Frio Normal Falso Sim Chuva Frio Normal Verd Não Nulado Frio Normal Verd Sim Sol Moderado Alto Falso Não Sol Frio Normal Falso Sim Chuva Moderado Normal Falso Sim Sol Moderado Normal Verd Sim Nulado Moderado Alto Verd Sim 17 Nulado Quente Normal Falso Sim Chuva Moderado Alto Verd Não 8

Proailidades para dados do tempo Visual Temperatura Umidade Vento Jogar Sim Não Sim Não Sim Não Sim Não Sim Não Sol 2 3 Quente 2 2 Alto 3 4 Falso 6 2 9 5 Nulado 4 0 Moderado 4 2 Normal 6 1 Verd 3 3 Chuva 3 2 Frio 3 1 Sol 2/9 3/5 Quente 2/9 2/5 Alto 3/9 4/5 Falso 6/9 2/5 9/14 5/14 Nulado 4/9 0/5 Moderado 4/9 2/5 Normal 6/9 1/5 Verd 3/9 3/5 Chuva 3/9 2/5 Frio 3/9 1/5 Um novo dia: Visual Temp. Umidade Vento Jogar Sol Frio Alto Verd? Proailidade das duas classes Para Sim = 2/9 3/9 3/9 3/9 9/14 = 0.0053 Para Não = 3/5 1/5 4/5 3/5 5/14 = 0.0206 Conversão em uma proailidade por normalização: P( Sim ) = 0.0053 / (0.0053 + 0.0206) = 0.205 P( Não ) = 0.0206 / (0.0053 + 0.0206) = 0.795 18 Regra de Bayes Proailidade de um evento H dada uma evidência E: Pr[ E H ]Pr[ H ] Pr[ H E] Pr[ E] Pr[H] Proailidade de um evento ocorrer antes da evidência ser oservada Proailidade a priori de H : Pr[ H E] Proailidade de um evento ocorrer depois da evidência ser oservada Proailidade a posteriori de H : 19 9

Naïve Bayes para classificação Aprendizado: qual a proailidade de uma classe ocorrer dada uma instância? Evidência E = instância Evento H = valor da classe para a instância Consideração: evidência se divide em partes (i.e. atriutos) que são independentes Pr[ E1 H]Pr[ E2 H] Pr[ E Pr[ H E] Pr[ E] n H]Pr[ H] 20 Exemplos de dados do tempo Visual Temp. Umidade Vento Jogar Sol Frio Alto Verd? Evidência E Proailidade da classe Sim Pr[ sim E] Pr[ Visual Sol sim] Pr[ Temperatur a Frio sim] Pr[ Umidade Alta sim] Pr[ Vento Verd sim] Pr[ sim] Pr[ E] 2 9 3 9 3 3 9 9 Pr[ E] 21 9 14 10

Prolema da freqüência zero O que acontece se um valor de atriuto não ocorre com todos os valores de classe? (e.g. Umidade = Alto para classe Sim ) Proailidade será zero! Pr[ Umidade Alta sim ] 0 Proailidade a posteriori tamém será zero! Pr[ sim E] 0 (Não importa o quanto os outros valores aparecem!) Solução: adicionar 1 para a contagem de todas as cominações valor-classe Resultado: proailidades nunca serão zeros! (e tamém estailiza as estimativas de proailidade) 22 *Estimativa de proailidade modificada Em alguns casos, adicionar uma constante diferente de 1 pode ser mais apropriado Exemplo: atriuto Visual para a classe Sim 2 / 3 9 4 / 3 9 Pesos não precisam ser iguais (mas devem somar 1) 23 3 / 3 9 Sol Nulado Chuva 2 1 p 9 4 2 p 9 3 3 p 9 11

Valores Ausentes Treinamento: instância não é incluída na contagem de freqüência para a cominação classe-valor Classificação: atriuto será omitido do cálculo Exemplo: Visual Temp. Umidade Vento Jogar? Frio Alto Verd? Proailidade de Sim = 3/9 3/9 3/9 9/14 = 0.0238 Proailidade de Não = 1/5 4/5 3/5 5/14 = 0.0343 P( Sim ) = 0.0238 / (0.0238 + 0.0343) = 41% P( Não ) = 0.0343 / (0.0238 + 0.0343) = 59% 24 Atriutos numéricos Assume-se usualmente que os atriutos têm uma distriuição de proailidade normal ou Gaussiana A função densidade de proailidade para uma distriuição normal é definida por dois parâmetros: Média 1 Desvio padrão n x i n i 1 n ( x i n 1 i 1 A função densidade f(x) é 1 f 25 ) 2 2 ( x ) 1 2 2 ( x) e 2 12

Estatística para os dados do tempo Visual Temperatura Umidade Vento Jogar Sim Não Sim Não Sim Não Sim Não Sim Não Sol 2 3 64, 68, 65, 71, 65, 70, 70, 85, Falso 6 2 9 5 Nulado 4 0 69, 70, 72, 80, 70, 75, 90, 91, Verd 3 3 Chuva 3 2 72, 85, 80, 95, Sol 2/9 3/5 =73 =75 =79 =86 Falso 6/9 2/5 9/14 5/14 Nulado 4/9 0/5 =6.2 =7.9 =10.2 =9.7 Verd 3/9 3/5 Chuva 3/9 2/5 Exemplo de valor de densidade f ( temperatura 66 sim) 1 e 2 6.2 2 (66 73) 2 2 6.2 0.0340 26 Classificando um novo dia Um novo dia: Visual Temp. Umidade Vento Jogar Sol 66 90 Verd? Proailidade de Sim = 2/9 0.0340 0.0221 3/9 9/14 = 0.000036 Proailidade de Não = 3/5 0.0291 0.0380 3/5 5/14 = 0.000136 P( Sim ) = 0.000036 / (0.000036 + 0. 000136) = 20.9% P( Não ) = 0.000136 / (0.000036 + 0. 000136) = 79.1% Valores faltantes durante o treinamento não são incluídos no cálculo da média e do desvio padrão. 27 13

Naïve Bayes: discussão Naïve Bayes funciona surpreendentemente em (mesmo se a consideração de independência for violada) Classificação não requer estimativas acuradas de proailidade desde que a a proailidade máxima seja associada a classe correta Adicionar muitos atriutos redundantes pode causar prolemas Muitos atriutos numéricos não são distriuídos de forma normal ( estimadores de densidade de núcleo). 28 Extensões Naïve Bayes Melhorias: Selecionar os melhores atriutos (por exemplo com usca gulosa ) Geralmente funciona melhor com apenas uma fração de todos os atriutos Redes Bayesianas 29 14

Árvores de Decisão Podem ser definidas recursivamente, de cima para aixo: Selecionar um atriuto para colocar na raiz Fazer um ramo com cada valor possível Repetir recursivamente para cada ramo utilizando apenas as instâncias que chegam ao dito ramo Se todas as instâncias de um nó tem a mesma classe, stop o desenvolvimento da árvore naquele ramo Portanto, é necessário decidir como determinamos o próximo atriuto a ser a raiz da próxima suárvore. 30 Árvores de Decisão A poda da árvore é feita de aixo para cima conforme o grau de pureza mínimo por nó. Para escolher o melhor atriuto em cada nó, separamos as classes no dataset de treino. Funções utilizadas: Ganho de Informação Razão de Ganho Indice de Gini 31 15

Árvores de Decisão O melhor atriuto será aquele que resulta na árvore menor Heurística: escolher atriuto que produz nós puros Ganho de Informação: O ganho aumenta com a pureza média dos suconjuntos produzidos por um atriuto Portanto, escolher atriutos com o maior Ganho de Informação Nem sempre todas as folhas podem ser puras. As vezes, exemplos idênticos estão associados a classes diferentes O processo de partilha termina quando tem-se intervalos com o grau de pureza desejado ou não é possível continuar Árvores: CART, Foil, ID3, C4.5 32 Árvore de Decisão Um nó interno é um teste de um atriuto Um ramo representa um resultado de um teste, e.g., cor=vermelho. Uma folha representa um rótulo de uma classe Em cada nó, um atriuto é escolhido para separar os padrões de treinamento em classes distintas tanto quanto possível Um novo caso é classificado seguindo um caminho da raiz para as folhas 33 16

Construindo Árvores de Decisão Construção top-down de Árvore No início, todos os exemplos de treinamento estão na raiz da árvore Particiona os exemplo recursivamente escolhendo um atriuto de cada vez Poda Bottom-Up Remove suárvores ou ramos, no sentido ottom-up, para melhorar a acurácia estimada em novos casos. 34 Selecionando o Atriuto para Divisão Em cada nó, atriutos disponíveissão avaliados através da separação das classes dos exemplos de treinamento. Função de qualidade é usada para este propósito Funções de qualidade típicas: Ganho de informação (ID3/C4.5) Taxa de ganho de informação Índice gini (CART) 35 17

Jogar ou não Jogar? Visual Temperatura Umidade Vento Jogar? sol quente alta falso Não sol quente alta verd Não nulado quente alta falso Sim chuva agradavel alta falso Sim chuva frio normal falso Sim chuva frio normal verd Não nulado frio normal verd Sim sol agradável alta falso Não sol frio normal falso Sim chuva agradavel normal falso Sim sol agradavel normal verd Sim nulado agradavel alta verd Sim nulado quente normal falso Sim chuva agradavel alta verd Não 36 Quais atriutos selecionar? 37 18

Critério para o atriuto de seleção Qual o melhor atriuto? Aquele que gera a menor árvore Heurística: escolhe os atriutos que produzem nós puros Critério de pureza mais popular: ganho de informação Aumenta com a pureza média dos suconjuntos que um atriuto produz Estratégia: escolhe atriuto que resulta em maior ganho de informação 38 Cálculo de Informação Informação é medida em its Dada uma distriuição de proailidade, a informação necessária para predizer um evento é a entropia da distriuição A entropia fornece a informação necessária em its (pode envolver frações de its!!!) Fórmula para o cálculo da entropia: entropy( p1, p2,, pn) p1log p1 p2logp2 p logp n n 39 19

Exemplo: Atriuto Visual Visual Temperatura Umidade Vento Jogar? sol quente alto falso Não sol quente alto verd Não nulado quente alto falso Sim chuva agradável alto falso Sim chuva frio normal falso Sim chuva frio normal verd Não nulado frio normal verd Sim sol agradável alto falso Não sol frio normal falso Sim chuva agradável normal falso Sim sol agradável normal verd Sim nulado agradável alto verd Sim nulado quente normal falso Sim chuva agradável alto verd Não 40 Exemplo: Atriuto Visual Visual = Sol : info([2,3] ) entropy(2/5,3/5) 2/5log(2/5) 3/ 5log(3/ 5) 0.971its Visual = Nulado : info([4,0] ) entropy(1,0) 1log(1) 0log(0) 0 its Visual = Chuvoso : info([3,2] ) Nota: log(0) não é definido, mas nós avaliamos como 0*log(0)=0 entropy(3/5,2/5) 3/ 5log(3/ 5) 2/5log(2/5) 0.971its Informação esperada para o atriuto: info([3,2],[4,0],[3,2]) (5/14) 0.971 (4/14) 0 (5/14) 0.971 0.693 its 41 20

Calculando o ganho de informação Ganho de Informação: (informação antes da quera) (informação após a quera) gain(" Visual") info([9,5])-info([2,3],[4,0],[3,2]) 0.940-0.693 0.247 its 42 Exemplo: atriuto Umidade Umidade = Alta : info([3,4] ) entropy(3/ 7,4/7) 3/7log(3/7) 4/7log(4/7) 0.985 its Umidade = Normal : info([6,1] ) entropy(6/ 7,1/7) 6/7log(6/7) 1/ 7log(1/ 7) 0.592 its Informação esperada para o atriuto: info([3,4],[6,1]) (7/14) 0.985 (7/14) 0.592 0.79 its Ganho de Informação: info([9,5] ) - info([3,4],[6,1]) 0.940-0.788 0.152 43 21

Calculando o ganho de informação Ganho de Informação: (informação antes da quera) (informação depois da quera) gain(" Visual") info([9,5])-info([2,3],[4,0],[3,2]) 0.940-0.693 0.247 its Ganho de informação para atriutos do tempo: gain(" Visual" ) 0.247 its gain(" Temperatura") 44 0.029 its gain(" Umidade") 0.152 its gain(" Vento") 0.048 its 45 45 22

Continuando as divisões gain(" Temperatura") 0.571its gain(" Umidade") 0.971 its gain(" Vento") 0.020 its 46 A árvore de decisão final ID3 outlook = sunny humidity = high: no humidity = normal: yes outlook = overcast: yes outlook = rainy windy = TRUE: no windy = FALSE: yes Nota: nem todas as folhas precisam ser puras; algumas vezes instâncias idênticas têm diferentes classes 47 23

*Lista de desejos para uma medida de pureza Propriedades necessárias para uma medida de pureza: Quando o nó é puro, a medida deve ser zero Quando impureza é máxima (todas as classes têm a mesma freqüência) a medida deverá ser maximizada. Medida deve oedecer propriedades multiestágio (decisões que podem ser feitas em diversos estágios) q r entropy( p,q,r) entropy( p,q r) ( q r) entropy(, ) q r q r measure([2,3,4]) measure([2,7]) (7/9) measure([3,4]) Entropia é uma função que satisfaz todas as três propriedades 48 *Propriedades da Entropia Propriedade multiestágio: q r entropy( p,q,r) entropy( p,q r) ( q r) entropy(, ) q r q r Simplificação do cálculo: info([2,3,4]) 2/9 log(2/9) 3/9 log(3/ 9) 4/9 log(4/9) [ 2log 2 3log3 4log 4 9log9]/9 Nota: ao invés de maximizar o ganho de informação, apenas minimizar a informação 49 24

Atriutos com muitas ramificações Prolemático: atriutos com um grande número de valores (caso extremo: código identificador) Suconjuntos são mais prováveis de serem puros se existir um grande número de valores Ganho de informação é direcionado a usca de atriutos com grandes números de valores Isto pode resultar em overfitting (seleção de um atriuto que não é ótimo para a predição) 50 Dados do tempo com identificador ID Visual Temperatura Umidade Vento Jogar? A sol quente alta falso Não B sol quente alta verd Não C nulado quente alta falso Sim D chuva agradável alta falso Sim E chuva frio normal falso Sim F chuva frio normal verd Não G nulado frio normal verd Sim H sol agradável alta falso Não I sol frio normal falso Sim J chuva agradável normal falso Sim K sol agradável normal verd Sim L nulado agradável alta verd Sim M nulado quente normal falso Sim N chuva agradável alta verd Não 51 25

Divisão do atriuto identificador Entropia da divisão = 0 (cada folha é pura, tendo apenas um caso) Ganho de informação é máximo para o identificador 52 Taxa de Ganho Taxa de ganho: uma modificação do ganho de informação que reduz seu ias em atriutos com muitas ramificações Taxa de ganho deve ser Alta quando os dados estão espalhados homogeneamente Pequena quando os dados pertencem a um único ramo Taxa de ganho leva o número e tamanho dos ramos em conta quando escolhe um atriuto Corrige o ganho de informação levando em conta a informação intrínseca de uma divisão (quanta informação precisamos para dizer a qual ramo uma instância pertence) 53 26

Taxa de Ganho e Informação Intrínseca Informação intrínseca: entropia da distriuição da instâncias ao longo dos ramos S S IntrinsicInfo( S, A) log. S i 2 S i Taxa de ganho (Quinlan 86) normaliza ganho de informação: GainRatio( S, A) Gain( S, A). IntrinsicInfo( S, A) 54 Calculando a taxa de ganho Exemplo: informação intrínseca para identificador info([1,1,,1) 14 ( 1/14 log1/14) 3.807 its Importância do atriuto diminui a medida que a informação intrínseca fica maior Exemplo de taxa de ganho: gain_ratio ("Attriute") gain("attriute") intrinsic_info("attriute") Exemplo: gain_ratio ("ID_code") 0.940 its 0.246 3.807 its 55 27

Taxa de ganhos para o tempo Visual Temperatura Info: 0.693 Info: 0.911 Ganho: 0.940-0.693 0.247 Ganho: 0.940-0.911 0.029 Split info: info([5,4,5]) 1.577 Split info: info([4,6,4]) 1.362 Taxa de ganho: 0.247/1.577 0.156 Taxa de ganho: 0.029/1.362 0.021 Umidade Vento Info: 0.788 Info: 0.892 Ganho: 0.940-0.788 0.152 Ganho : 0.940-0.892 0.048 Split info: info([7,7]) 1.000 Split info: info([8,6]) 0.985 Taxa de ganho: 0.152/1 0.152 Taxa de ganho: 0.048/0.985 0.049 56 Mais sore a taxa de ganho Visual ainda vem como primeiro lugar Entretando: identificador tem taxa de ganho maior Correção: usar conhecimento para prevenir divisão neste tipo de atriuto Prolema com taxa de ganho: pode ser compensador demais Pode escolher um atriuto somente porque sua informação intrínseca é muito aixa Correção: Primeiro, somente considera atriutos com ganho de informação maior que a média Compara as taxas de ganho 57 28

*Critério de Divisão CART: Índice Gini Se um conjunto de dados T contém exemplos de n classes, o indíce gini, gini(t) é definido como Onde p j é a freqüência relativa da classe j em T. 58 *Índice Gini Depois de dividir T em 2 suconjuntos T1 e T2 com tamanhos N1 e N2, o índice gini dos dados divididos é definido como O atriuto que fornece o menor gini split (T) é escolhido para dividir o nó 59 29

Discussão Algoritmo para indução top-down de árvores de decisão (ID3) foi desenvolvido por Ross Quinlan Taxa de ganho é apenas uma modificação deste algoritmo ásico Levou ao desenvolvimento do C4.5, que pode lidar com valores numéricos, valores ausentes e dados ruidosos Aordagem similar: CART Existem muitos outros critérios de seleção de atriutos (mas quase nenhuma diferença na acurácia do resultado) 60 Gerando Regras Árvore de decisão pode ser convertida em um conjunto de regras Conversão direta: Cada caminho para a folha se torna uma regra cria um conjunto de regras exageradamente complexo Conversões mais eficientes não são triviais J4.8 testa cada nó entre a raiz e a folha para verificar se podem ser eliminados sem perda de acurácia 61 30

Algoritmos de Coertura Estratégia para gerar um conjunto de regras diretamente: para cada classe, encontrar um conjunto de regras que curam todas as instâncias (excluindo as instâncias que não estão na classe) Esta aordagem é chamada de aordagem por coertura porque em cada estágio uma regra que cura algumas instâncias é identificada 62 Exemplo: gerando uma regra y a a a a a a x If true then class = a 63 31

Exemplo: gerando uma regra y a a a a x a a y a a a a 1 2 a a x If true then class = a If x > 1.2 then class = a 64 Exemplo: gerando uma regra y a a a a x a a y a a a a 1 2 a a x y 2 6 a a a a 1 2 a a x If true then class = a If x > 1.2 and y > 2.6 then class = a If x > 1.2 then class = a 65 32

Exemplo: gerando uma regra y a a a a x a a y a a a a 1 2 a a x y 2 6 a a a a 1 2 a a x If true then class = a If x > 1.2 and y > 2.6 then class = a If x > 1.2 then class = a Possível conjunto de regras para a classe : If x 1.2 then class = If x > 1.2 and y 2.6 then class = Mais regras podem ser adicionadas para conjunto perfeito 66 Regras x Árvores Árvore de decisão: (produz as mesmas previsões) Conjuntos de regras podem ser mais claros quando as árvores de decisão sofrem de prolemas de replicação Em prolemas com múltiplas classes, o algoritmo de coertura se concentra em uma classe por vez enquanto a árvore de decisão leva em consideração todas as classes simultaneamente 67 33

Um algoritmo de coertura simples Gera uma regra adicionando testes que maximizam a acurácia da regra Situação similar a árvores de decisão: prolema consiste em selecionar um atriuto para fazer a divisão do anco de dados Mas a árvore de decisão maximiza a pureza geral Cada novo teste reduz a coertura da regra space of examples rule so far rule after adding new term 68 Selecionando um teste Ojetivo: maximizar a acurácia t número total de instâncias coertas pela regra p exemplos positivos da classe coerta pela regra t p número de erros gerados pela regra Selecionar teste que maximiza a taxa p/t O algoritmo está terminado quando p/t = 1 ou o conjunto de instâncias não pode ser mais dividido 69 34

Exemplo: dados de lentes de contato Regra que procuramos: Testes possíveis: If? then recommendation = hard Age = Young 2/8 Age = Pre-presyopic 1/8 Age = Presyopic 1/8 Spectacle prescription = Myope 3/12 Spectacle prescription = Hypermetrope 1/12 Astigmatism = no 0/12 Astigmatism = yes 4/12 Tear production rate = Reduced 0/12 Tear production rate = Normal 4/12 70 Regra modificada e dados resultantes Regra com o melhor teste adicionado: If astigmatism = yes then recommendation = hard Instâncias coertas pela regra modificada: Age Spectacle prescription Astigmatism Tear production rate Young Myope Yes Reduced None Young Myope Yes Normal Hard Young Hypermetrope Yes Reduced None Young Hypermetrope Yes Normal hard Pre-presyopic Myope Yes Reduced None Pre-presyopic Myope Yes Normal Hard Pre-presyopic Hypermetrope Yes Reduced None Pre-presyopic Hypermetrope Yes Normal None Presyopic Myope Yes Reduced None Presyopic Myope Yes Normal Hard Presyopic Hypermetrope Yes Reduced None Presyopic Hypermetrope Yes Normal None Recommended lenses 71 35

Mais melhorias Estado Atual: If astigmatism = yes and? then recommendation = hard Testes possíveis: Age = Young 2/4 Age = Pre-presyopic 1/4 Age = Presyopic 1/4 Spectacle prescription = Myope 3/6 Spectacle prescription = Hypermetrope 1/6 Tear production rate = Reduced 0/6 Tear production rate = Normal 4/6 72 Regra modificada e dados resultantes Regra com o melhor teste adicionado: If astigmatism = yes and tear production rate = normal then recommendation = hard Instâncias coertas pela regra modificada: Age Spectacle prescription Astigmatism Tear production rate Recommended lenses Young Myope Yes Normal Hard Young Hypermetrope Yes Normal hard Pre-presyopic Myope Yes Normal Hard Pre-presyopic Hypermetrope Yes Normal None Presyopic Myope Yes Normal Hard Presyopic Hypermetrope Yes Normal None 73 36

Mais melhorias Estado atual: If astigmatism = yes and tear production rate = normal and? then recommendation = hard Testes possíveis: Age = Young 2/2 Age = Pre-presyopic 1/2 Age = Presyopic 1/2 Spectacle prescription = Myope 3/3 Spectacle prescription = Hypermetrope 1/3 Empate entre o primeiro e o quarto teste Escolhe-se o que tem a melhor coertura 74 Resultado Regra final: If astigmatism = yes and tear production rate = normal and spectacle prescription = myope then recommendation = hard Segunda regra para recomendar hard lenses : (construída a partir de instâncias não coertas pela primeira regra) If age = young and astigmatism = yes and tear production rate = normal then recommendation = hard Estas duas regras corem todos os casos de hard lenses : Processo é repetido para as outras duas classes 75 37