A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Classificação Arvores de Decisão

Apresentações semelhantes


Apresentação em tema: "Classificação Arvores de Decisão"— Transcrição da apresentação:

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

2 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

3 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

4 Mestrado em Ciencia da Computacao
Etapas do Processo REGRAS Amostras Classificadas Banco de Testes Classificador REGRAS CONFIÁVEIS Mestrado em Ciencia da Computacao

5 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

6 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

7 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

8 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

9 Processo de Classificação
Deriva Modelo (Regras) Calcula Acuracia Amostras Dados Dados de teste Mestrado em Ciencia da Computacao

10 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

11 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

12 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

13 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

14 Diferentes valores de K
Mestrado em Ciencia da Computacao 14

15 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

16 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

17 Mestrado em Ciencia da Computacao
Exemplo Compra-computador ID IDADE RENDA ESTUDANTE CREDITO CLASSE 1 ≤ 30 Alta Não Bom 2 Sim 3 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

18 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

19 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

20 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

21 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 = e Prof é Médico então compra Eletrônico Mestrado em Ciencia da Computacao

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 Mestrado em Ciencia da Computacao
Redução da Entropia Entrop(A) = - (9/14 * log2 (9/14) + 5/14* log2(5/14)) = = INFO(APARÊNCIA) = Entrop(A) – Entrop(D) = = = 0.247 Mestrado em Ciencia da Computacao

30 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

31 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

32 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

33 Mestrado em Ciencia da Computacao
Implementações Christian Borgelt's Webpages Software Weka Machine Learning Software in Java Dados reais para testes UCI Machine Learning Repository Mestrado em Ciencia da Computacao

34 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

35 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

36 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


Carregar ppt "Classificação Arvores de Decisão"

Apresentações semelhantes


Anúncios Google