260 likes | 469 Views
Classifica çã o Arvores de Decis ã o. AULAS 8 e 9 Data Mining. Classificação. SE. Idade ≤ 30. E. Renda é Média. ENTÃO. Compra-Produto-Eletrônico = SIM. Etapas do Processo. REGRAS. Amostras Classificadas. Banco de Testes. Classificador. REGRAS CONFIÁVEIS.
E N D
ClassificaçãoArvores de Decisão AULAS 8 e 9 Data Mining
Classificação SE. Idade ≤ 30 E Renda é Média ENTÃO Compra-Produto-Eletrônico = SIM. Mestrado em Ciencia da Computacao
Etapas do Processo REGRAS Amostras Classificadas Banco de Testes Classificador REGRAS CONFIÁVEIS Mestrado em Ciencia da Computacao
Métodos de Classificação • Classificadores eager (espertos) A partir da amostragem, constroem um modelo de classificação capaz de classificar novas tuplas. Uma vez pronto o modelo, as amostras não são mais utilizadas na classificação de novos objetos (tuplas) • Arvores de Decisão • Redes Neuronais • Redes Bayseanas • Máquinas de Suporte Vetorial • Classificadores lazy (preguiçosos) Cada nova tupla é comparada com todas as amostras e é classificada segundo a classe da amostra à qual é mais similar. • Método kNN (k-nearest-neighbor) • Case-Based Reasoning (CBR) • Outros Métodos • Algoritmos Genéticos • Conjuntos Difusos Mestrado em Ciencia da Computacao
Critérios de Comparação dos Métodos • Acurácia – capacidade de classificar corretamente novas tuplas • Rapidez– tempo gasto na classificacao • Robustez – habilidade de classificar corretamente em presenca de ruidos e valores desconhecidos • Escalabilidade – eficiencia do classificador em grandes volumes de dados • Interpretabilidade – facilidade de um usuario entender as regras produzidas pelo classificador Mestrado em Ciencia da Computacao
Acurácia – Taxa de erros • Acc(M) = porcentagem das tuplas dos dados de teste que sao corretamente classificadas. • Err(M) = 1 – Acc(M) • Matriz de Confusão Classes Preditas Classes Reais Mestrado em Ciencia da Computacao
Outras medidas mais precisas • Exemplo : acc(M) = 90% C1 = tem-câncer (4 pacientes) C2 = não-tem-câncer (500 pacientes) Classificou corretamente 454 pacientes que não tem câncer Não acertou nenhum dos que tem câncer Pode ser classificado como “bom classificador” mesmo com acurácia alta ? • Sensitividade= true-pos pos • Especificidade = true-neg neg • Precisão = true-pos true-pos + falso-pos % pacientes classificados corretamente com câncer dentre todos os que realmente temcâncer % pacientes classificados corretamente com câncer dentre todos os que foram classificados com câncer Mestrado em Ciencia da Computacao
Processo de Classificação Deriva Modelo (Regras) Calcula Acuracia Amostras Dados Dados de teste Mestrado em Ciencia da Computacao
Preparação dos Dados • Limpeza dos dados : remove ruidos e resolve problemas de dados incompletos • Análise de Relevância : elimina atributos irrevelantes para a classificação • Transformação dos dados • Categorização • Generalização Ex: Rua pode ser substituido por Cidade • Normalização : todos os valores dos atributos em [0,1] Mestrado em Ciencia da Computacao
Árvore de Decisão IDADE ≤ 30 31-50 >60 51-60 PROFISSÃO RENDA Não Sim B Med Eng Prof M Vend A M-A Sim Sim Não Sim Sim Não Sim Sim Se Idade ≤ 30 e Renda é Baixa então Não compra Eletrônico Se Idade = 31-50 e Prof é Médico então compra Eletrônico Mestrado em Ciencia da Computacao
Como criar uma Árvore de Decisão – Algoritmo ID3 CASO 1 C1 Mestrado em Ciencia da Computacao
Como criar uma Árvore de Decisão Atributo-Teste = CASO 2 O que mais reduz a entropia A a1 a2 A, B, C } LISTA-ATRIBUTOS = { Mestrado em Ciencia da Computacao
Como criar uma Árvore de Decisão A a1 a2 Atributo-Teste = C O que mais reduz a entropia = C c2 c1 Y X LISTA-ATRIBUTOS = { B, C } Mestrado em Ciencia da Computacao
Qual é o Atributo-Teste ? • Divide-se o nó segundo cada atributo. • Para cada divisão calcula-se a entropia produzida caso fosse escolhido este atributo. • Considera-se o atributo cuja divisão resulta numa maior redução da entropia. Mestrado em Ciencia da Computacao
Informação ganha na divisão • Entrop(A) = -NC1 log2NC1 - NC2 log2NC2 Tot Tot Tot Tot • Entrop(D) = NF1 * Entrop(F1) + NF2 * Entrop(F2) Tot Tot • Info(Divisão) = Entrop(A) – Entrop (D) • Maior Info(Divisão) Atributo escolhido Mestrado em Ciencia da Computacao
Um Exemplo Mestrado em Ciencia da Computacao
1a divisão possível : Aparência APARÊNCIA Chuva Sol Enc Bom Bom Bom Bom Bom Bom Bom Bom Bom Ruim Bom Ruim Ruim Ruim Entrop(D) = 5/14 * Entrop(F1) + 4/14*Entrop(F2) + 5/14*Entrop(F3) = 0.693 Entrop(F1) = -3/5*log2(3/5) - 2/5*log2 (2/5) = 0.971 Entrop(F2) = - 4/4*log2(4/4) = 0 Entrop(F3) = - 3/5*log2(3/5) - 2/5*log2(2/5) = 0.971 Mestrado em Ciencia da Computacao
Redução daEntropia Entrop(A) = - (9/14 * log2 (9/14) + 5/14* log2(5/14)) = = 0.940 INFO(APARÊNCIA) = Entrop(A) – Entrop(D) = = 0.940 - 0.693 = 0.247 Mestrado em Ciencia da Computacao
Comparando as 4 possibilidades • Info(Aparência) = 0.247 • Info(Temperatura) = 0.029 • Info(Humidade) = 0.152 • Info(Vento) = 0.020 Mestrado em Ciencia da Computacao
Algoritmo ID3 • Input:Banco de dados de amostras A (com os valores dos atributos categorizados), lista de atributos Cand-List • Output :Uma árvore de decisão Begin Gera-árvore(A, Cand-List) End Mestrado em Ciencia da Computacao
Algoritmo ID3 Gera-árvore(A, Cand-List) • Cria um nó N; Associa a este nó o banco de dados A • Se todas as tuplas de A são da mesma classe C: transforma N numa folha com label C e PÁRA • Caso contrário: Se Cand-List = vazio então transforma N numa folha com label igual a classe mais frequente de A • Caso contrário: X:= Ganho(Cand-List) % esta função retorna o atributo X com maior ganho de informação (que causa maior redução de entropia) • Etiqueta N com o atributo X • Para cada valor a do atributo X • Cria nó-filho F ligado a X por um ramo com label a e associa a este nó o conjunto A’ de amostras que tem X = a • Se A’ é vazio: transforma o nó F numa folha com label C onde C é a classe mais frequente de A • Caso contrário: chama a rotina Gera(A’, Cand-List-{X}) e associa ao nó F a árvore resultante deste cálculo. Mestrado em Ciencia da Computacao
Implementações • Christian Borgelt's Webpages http://www.borgelt.net//software.html • Software Weka Machine Learning Software in Java http://www.cs.waikato.ac.nz/ml/weka/ • Dados reais para testes UCI Machine Learning Repository http://archive.ics.uci.edu/ml/datasets.html Mestrado em Ciencia da Computacao
Exercicio : amostras Mestrado em Ciencia da Computacao
Exercicio - Testes Mestrado em Ciencia da Computacao
Acurácia, Sensividade, Precisão Mestrado em Ciencia da Computacao