Classificação Arvores de Decisão

Slides:



Advertisements
Apresentações semelhantes
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Advertisements

Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
INTELIGÊNGIA COMPUTACIONAL
HAC MD -junho/ Noções de algoritmos e estudo de casos das principais tarefas de Mineração de dados.
1 Mineração de Dados - Trabalho Final junho/julho de 2008 Selecionar um arquivo de dados entre os sugeridos no repósitório UCI (
ICC 2. Sistema de Computação
Método de Clusterização baseado em Densidade Algoritmo DBSCAN
PREDIÇÃO DATA MINING AULA 13 SANDRA DE AMO
Classificação Redes Neurais
Programação Linear Método Simplex
Aprendem a partir de seus vizinhos AULA 9 DATA MINING Sandra de Amo
Classificação Arvores de Decisão
Classificadores em Dados não Balanceados
Classificadores Bayesianos
Mineração de Preferências (a partir de amostras superiores e inferiores) J.Pei et al. KDD 2008 AULA 18 Data Mining Profa. Sandra de Amo.
Avaliação de Clusteres
Mestrado em Ciência da Computação 2008
Mineração de Dados ou Descoberta de conhecimento em BDs
Reconhecimento de Padrões Dissimilaridade
Reconhecimento de Padrões Aprendizagem Supervisionada (KNN)
Acompanhamento de Cenas com Calibração Automática de Câmeras
Jacques Robin, Francisco Carvalho, Flávia Barros
Weka Coleção de algoritmos de aprendizado de máquina implementado em Java Tanto é API como aplicativo!!! Open source software Framework para o desenvolvimento.
FACENS – Engenharia da Computação Inteligência Artificial
DATA MINING Inteligência Artificial
Divisão e Conquista Análise de algoritmos UNISUL Ciência da Computação
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Sistemas Inteligentes
3. Árvore de Decisão.
Aprendizado de Máquina
Aprendizado de Máquina Aula 8
Aprendizado de Árvores de Decisão
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
K-NN Prof. Dr. Rogério Vargas.
6/7/2014 Mestrado em Ciencia da Computacao Otimização da Técnica Apriori Sandra de Amo Data Mining AULA 4.
Sistema Recomendador para Comércio Eletrônico
Avaliação de Clusteres Parte II
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Técnicas de Amostragem : como avaliar a acurácia de um classificador
INF 1771 – Inteligência Artificial
Aprendizado de Máquina - Introdução
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
Árvores de Decisão: supervisionado, simbólico, não incremental (?)
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
MEDIDAS DE DESEMPENHO Classificação SUPERVISIONADA
Classificação: avaliação de modelos
KNN – K Nearest Neighbor (K Vizinhos mais Próximos)
Disciplina Análise de Algoritmos BCC-UFU Profa. Sandra de Amo
Classificacao de Texto Projeto Spam Filter
Noções de Inferência Estatística
Árvores de Decisão Valmir Macário.
WEKA Jacques Robin João Batista Marcelino Pereira junho/2001.
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
Mineração de Dados: Classificação e Predição
Problemas NP-completos e Programação Dinâmica
Classificação de Texto Baseada na aula de Henrique Borges e Ícaro Medeiros Alterada por Flávia Barros.
HAC 1 MD - junho/2008 Tecnologias de suporte à Mineração de Dados Gerenciamento de dados Data Warehouse OLAP Arquiteturas Visualização Sistemas de Suporte.
Aprendizado Baseado em Instancias. Introdução Em contraste aos métodos de aprendizado que constroem uma descrição explicita genérica da função alvo. Os.
Classificação de Textos
Avaliação de Classificadores Binários
Sistemas de Informação Inteligentes Aula 1 Nadilma Nunes
Classificadores Bayesianos Classificadores Bayesianos são classificadores estatísticos que classificam um objeto numa determinada classe baseando-se na.
Mineração de Dados Classificação Felipe Carvalho – UFES 2009/2.
Aula Pratica Aprendizagem WEKA Prof. Ivan Gesteira Costa Filho Centro de Informática Universidade Federal de Pernambuco.
Mineração de Dados (Data Mining)
Transcrição da apresentação:

Classificação Arvores de Decisão AULA 7 Data Mining Sandra de Amo

Aprendem a partir de seus vizinhos AULA 9 DATA MINING Sandra de Amo Classificadores Lazy Aprendem a partir de seus vizinhos AULA 9 DATA MINING Sandra de Amo Mestrado em Ciencia da Computacao 2

Mestrado em Ciencia da Computacao Classificação Nome Idade Renda Profissão Classe Daniel ≤ 30 Média Estudante Sim João 31..50 Média-Alta Professor Carlos Engenheiro Maria Baixa Vendedora Não Paulo Porteiro Otavio > 60 Aposentado SE. Idade ≤ 30 E Renda é Média ENTÃO Compra-Produto-Eletrônico = SIM. Mestrado em Ciencia da Computacao

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 presença de ruidos e valores desconhecidos Escalabilidade – eficiência do classificador em grandes volumes de dados Interpretabilidade – facilidade de um usuário 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 são corretamente classificadas. Err(M) = 1 – Acc(M) Matriz de Confusão Classes Preditas C1 C2 Positivos verdadeiros Falsos Negativos Falsos Negativos 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 tem câ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

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

Mestrado em Ciencia da Computacao Classificadores Lazy Aprendem a partir de seus vizinhos Não constrói um modelo de classificação. Para cada nova tupla que se quer classificar, o banco de dados de treinamento é analisado. Mestrado em Ciencia da Computacao 11

Mestrado em Ciencia da Computacao História Método introduzido nos anos 50. Muito dispendioso computacionalmente. Só ganhou popularidade a partir dos anos 60, como o aumento da capacidadecomputacional dos computadores. Muito usado na área de Reconhecimento de Padrões. Mestrado em Ciencia da Computacao 12

Descrição do Método KNN Dados: Banco de Dados de m tuplas classificadas (a1,...,an,C) Uma tupla X = (x1,...,xn) não classificada Os valores dos atributos são normalizados. Valor normalizado = (v.real - MinA)/(MaxA – MinA) Calcula-se a distância de X a cada uma das tuplas do banco de dados. Pega-se as k tuplas do banco de dados mais próximas de X. A classe de X é a classe que aparece com mais frequência entre as k tuplas mais próximas de X. Mestrado em Ciencia da Computacao 13

Diferentes valores de K Mestrado em Ciencia da Computacao 14

Mestrado em Ciencia da Computacao Algumas questões Como calcular a distância entre duas tuplas ? Para atributos contínuos : distância Euclidiana d(x,y) = √ Σni=1 (xi – yi)2 Para atributos categóricos Se xi = yi então xi – yi = 0 Se xi e yi são distintos: xi – yi = 1 Como lidar com valores incompletos (ausentes) ao calcular a distância entre duas tuplas X e Y ? Se xi e yi são ausentes: xi – yi = 1 Se xi é ausente e yi não: xi – yi = max { |1 – yi|, |0 – yi| } Como determinar o melhor valor de K (=número de vizinhos) ? Obtido repetindo-se os experimentos. Mestrado em Ciencia da Computacao 15

Vantagens e Desvantagens Performance Não constrói um modelo de classificação. Processo de classificação de uma tupla é lento. Classificadores Eager gastam tempo para construir o modelo. O processo de classificação de uma tupla é rápido. Sensível a ruídos KNN faz predição baseando-se em informações locais à tupla sendo classificada. Arvores de decisão, redes neurais e bayesianas encontram modelo global que se leva em conta todo o banco de dados de treinamento. Mestrado em Ciencia da Computacao 16

Mestrado em Ciencia da Computacao Exemplo Compra-computador ID IDADE RENDA ESTUDANTE CREDITO CLASSE 1 ≤ 30 Alta Não Bom 2 Sim 3 31...40 4 > 40 Média 5 Baixa 6 Excelente 7 8 9 10 11 12 13 14 X = (≤ 30, Média,Sim,Bom) Mestrado em Ciencia da Computacao 17

Mestrado em Ciencia da Computacao Exemplo Distância VALOR d(X,1) 1,41 d(X,2) 1 d(X,3) 1,73 d(X,4) d(X,5) d(X,6) d(X,7) d(X,8) d(X,9) d(X,10) d(X,11) d(X,12) d(X,13) d(X,14) Mestrado em Ciencia da Computacao 18

Mestrado em Ciencia da Computacao Exemplo K = 5 Os 5 vizinhos mais próximos são X1 = ( ≤ 30 Alta Sim Bom) Classe = Não X2 = (≤ 30 Média Não Bom) Classe = Não X3 = ( ≤ 30 Baixa Sim Bom) Classe = Sim X4 = ( > 40 Média Sim Bom) Classe = Sim X5 = (≤ 30 Média Sim Exc. ) Clase = Sim Logo, X é classificada na classe = Sim Mestrado em Ciencia da Computacao 19

Mestrado em Ciencia da Computacao Classificadores Eager Constróem um modelo de classificação. Modelo é utilizado para classificar nova tupla. Mestrado em Ciencia da Computacao 20

Modelo: Á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 B C CLASSE a1 b1 c1 X b2 a2 c2 CASO 1 C1 Mestrado em Ciencia da Computacao

Como criar uma Árvore de Decisão B C CLASSE a1 b1 c1 X b2 a2 Y c2 Atributo-Teste = CASO 2 O que mais reduz a entropia A a1 a2 A B C CLASSE a1 b1 c1 X b2 c2 Y A B C CLASSE a2 b1 c1 Y b2 c2 X A, B, C } LISTA-ATRIBUTOS = { Mestrado em Ciencia da Computacao

Como criar uma Árvore de Decisão Atributo-Teste = A B C CLASSE a1 b1 c1 X b2 c2 Y C O que mais reduz a entropia = C c2 c1 A B C CLASSE a1 b2 c2 Y A B C CLASSE a1 b1 c1 X b2 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 log2 NC1 - NC2 log2 NC2 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

Mestrado em Ciencia da Computacao Um Exemplo Aparência Temperatura Humidade Vento Classe Sol Quente Alta Não Ruim Sim Encoberto Bom Chuvoso Agradavel Frio Normal Mestrado em Ciencia da Computacao

1a divisão possível : 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

Mestrado em Ciencia da Computacao Redução da Entropia 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

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

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

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

Mestrado em Ciencia da Computacao Exercicio : amostras A B C D CLASSE a1 b1 c1 d1 SIM c2 NAO a2 b2 d2 a3 b3 Mestrado em Ciencia da Computacao

Mestrado em Ciencia da Computacao Exercicio - Testes A B C D CLASSE a2 b2 c2 d1 SIM a1 b1 d2 NÃO c1 d3 a3 b3 Mestrado em Ciencia da Computacao

Acurácia, Sensividade, Precisão B C D CLASSE a2 b2 c2 d1 a1 b1 d2 c1 d3 a3 b3 Mestrado em Ciencia da Computacao