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

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

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

Apresentações semelhantes


Apresentação em tema: "Classificação Arvores de Decisão AULA 7 Data Mining Sandra de Amo."— Transcrição da apresentação:

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

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

3 Mestrado em Ciencia da Computacao3 Classificação NomeIdadeRendaProfissãoClasse Daniel 30MédiaEstudanteSim João31..50Média-AltaProfessorSim Carlos31..50Média-AltaEngenheiroSim Maria31..50BaixaVendedoraNão Paulo 30BaixaPorteiroNão Otavio> 60Média-AltaAposentadoNão SE. Idade 30Renda é Média Compra-Produto-Eletrônico = SIM. E ENTÃO

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

5 Mestrado em Ciencia da Computacao5 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

6 Mestrado em Ciencia da Computacao6 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

7 Mestrado em Ciencia da Computacao7 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 C1C2 C1 Positivos verdadeiros Falsos Negativos C2 Falsos Positivos Negativos verdadeiros Classes Preditas Classes Reais

8 Mestrado em Ciencia da Computacao8 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 foram classificados com câncer % pacientes classificados corretamente com câncer dentre todos os que realmente tem câncer

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

10 Mestrado em Ciencia da Computacao10 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]

11 Mestrado em Ciencia da Computacao11 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. Classificadores Lazy

12 Mestrado em Ciencia da Computacao12 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.

13 Mestrado em Ciencia da Computacao13 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.

14 Mestrado em Ciencia da Computacao14 Diferentes valores de K K = 1K = 2K = 3

15 Mestrado em Ciencia da Computacao15 Algumas questões Como calcular a distância entre duas tuplas ? Para atributos contínuos : distância Euclidiana d(x,y) = Σ n i=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.

16 Mestrado em Ciencia da Computacao16 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.

17 Mestrado em Ciencia da Computacao17 Exemplo IDIDADERENDAESTUDANTECREDITOCLASSE 1 30AltaNãoBomNão 2 30AltaSimBomNão AltaNãoBomSim 4> 40MédiaNãoBomSim 5> 40BaixaSimBomSim 6> 40BaixaSimExcelenteNão BaixaSimExcelenteSim 8 30MédiaNãoBomNão 9 30BaixaSimBomSim 10> 40MédiaSimBomSim 11 30MédiaSimExcelenteSim MédiaNãoExcelenteSim AltaSimBomSim 14> 40MédiaNãoExcelenteNão Compra-computador X = ( 30, Média,Sim,Bom)

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

19 Mestrado em Ciencia da Computacao19 Exemplo K = 5 Os 5 vizinhos mais próximos são X1 = ( 30AltaSimBom) Classe = Não X2 = ( 30MédiaNãoBom) Classe = Não X3 = ( 30BaixaSimBom) Classe = Sim X4 = ( > 40MédiaSimBom) Classe = Sim X5 = ( 30MédiaSimExc. ) Clase = Sim Logo, X é classificada na classe = Sim

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

21 Mestrado em Ciencia da Computacao21 Modelo: Árvore de Decisão IDADE RENDA PROFISSÃO 30 B M M-A A > Med Prof Vend Eng Não Sim Não 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

22 Mestrado em Ciencia da Computacao22 Como criar uma Árvore de Decisão – Algoritmo ID3 C1 CASO 1 ABCCLASSE a1b1c1X a1b2c1X a2b1c1X a2b2c2X a1b2c2X

23 Mestrado em Ciencia da Computacao23 Como criar uma Árvore de Decisão ABCCLASSE a1b1c1X a1b2c1X a2b1c1Y a2b2c2X a1b2c2Y ABCCLASSE a1b1c1X a1b2c1X a1b2c2Y CASO 2 LISTA-ATRIBUTOS = { Atributo-Teste = O que mais reduz a entropia ABCCLASSE a2b1c1Y a2b2c2X A a1 a2 A,B, C }

24 Mestrado em Ciencia da Computacao24 Como criar uma Árvore de Decisão ABCCLASSE a1b2 c2c2 Y ABCCLASSE a1b1c1X a1b2c1X a1b2c2Y ABCCLASSE a1b1 c1 X a1b2 c1 X LISTA-ATRIBUTOS = { Atributo-Teste = O que mais reduz a entropia = C A a1 a2 B, C } C c1 c2 X Y

25 Mestrado em Ciencia da Computacao25 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.

26 Mestrado em Ciencia da Computacao26 Informação ganha na divisão Entrop(A) = - NC1 log 2 NC1 - NC2 log 2 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

27 Mestrado em Ciencia da Computacao27 Um Exemplo AparênciaTemperaturaHumidadeVentoClasse SolQuenteAltaNãoRuim SolQuenteAltaSimRuim EncobertoQuenteAltaNãoBom ChuvosoAgradavelAltaNãoBom ChuvosoFrioNormalNãoBom ChuvosoFrioNormalSimRuim EncobertoFrioNormalSimBom SolAgradavelAltaNãoRuim SolFrioNormalNãoBom ChuvosoAgradavelNormalNãoBom SolAgradavelNormalSimBom EncobertoAgradavelAltaSimBom EncobertoQuenteNormalNãoBom ChuvosoAgradavelAltaSimRuim

28 Mestrado em Ciencia da Computacao28 1a divisão possível : Aparência APARÊNCIA Sol Chuva Enc Bom Ruim Entrop(D) = 5/14 * Entrop(F1) + 4/14*Entrop(F2) + 5/14*Entrop(F3) Entrop(F1) = -3/5*log 2 (3/5) - 2/5*log 2 (2/5) = Entrop(F2) = - 4/4*log 2 (4/4) = 0 Entrop(F3) = - 3/5*log 2 (3/5) - 2/5*log 2 (2/5) = = 0.693

29 Mestrado em Ciencia da Computacao29 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

30 Mestrado em Ciencia da Computacao30 Comparando as 4 possibilidades Info(Aparência) = Info(Temperatura) = Info(Humidade) = Info(Vento) = 0.020

31 Mestrado em Ciencia da Computacao31 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

32 Mestrado em Ciencia da Computacao32 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) 5. Etiqueta N com o atributo X 6. Para cada valor a do atributo X 1. 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 2. Se A é vazio: transforma o nó F numa folha com label C onde C é a classe mais frequente de A 3. Caso contrário: chama a rotina Gera(A, Cand-List-{X}) e associa ao nó F a árvore resultante deste cálculo.

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

34 Mestrado em Ciencia da Computacao34 Exercicio : amostras ABCDCLASSE a1b1c1d1SIM a1b1c2d1NAO a2b2c1d1SIM a2b2c2d2NAO a1b2c2d1NAO a2b1c2d2SIM a3b2c2d2SIM a1b3c1d1SIM a3b1c1d1NAO

35 Mestrado em Ciencia da Computacao35 Exercicio - Testes ABCDCLASSE a2b2c2d1SIM a1b1c2d2NÃO a2b2c1d3SIM a2b2c2d1SIM a1b2c2d2NÃO a2b1c2d1SIM a3b3c2d2SIM a1b3c1d1NÃO a3b3c1d1NÃO

36 Mestrado em Ciencia da Computacao36 Acurácia, Sensividade, Precisão ABCDCLASSE a2b2c2d1 a1b1c2d2 a2b2c1d3 a2b2c2d1 a1b2c2d2 a2b1c2d1 a3b3c2d2 a1b3c1d1 a3b3c1d1


Carregar ppt "Classificação Arvores de Decisão AULA 7 Data Mining Sandra de Amo."

Apresentações semelhantes


Anúncios Google