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

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

Classificação Arvores de Decisão AULAS 8 e 9 Data Mining.

Apresentações semelhantes


Apresentação em tema: "Classificação Arvores de Decisão AULAS 8 e 9 Data Mining."— Transcrição da apresentação:

1 Classificação Arvores de Decisão AULAS 8 e 9 Data Mining

2 Mestrado em Ciencia da Computacao2 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

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

4 Mestrado em Ciencia da Computacao4 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

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

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

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

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

9 Mestrado em Ciencia da Computacao9 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]

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

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

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

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

14 Mestrado em Ciencia da Computacao14 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.

15 Mestrado em Ciencia da Computacao15 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

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

17 Mestrado em Ciencia da Computacao17 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

18 Mestrado em Ciencia da Computacao18 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

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

20 Mestrado em Ciencia da Computacao20 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

21 Mestrado em Ciencia da Computacao21 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.

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

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

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

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


Carregar ppt "Classificação Arvores de Decisão AULAS 8 e 9 Data Mining."

Apresentações semelhantes


Anúncios Google