View
102
Download
0
Category
Preview:
Citation preview
ClassificaçãoArvores de Decisão
AULAS 8 e 9
Data Mining
Mestrado em Ciencia da Computacao 2
Classificação
Nome Idade Renda Profissão ClasseDaniel ≤ 30 Média Estudante Sim
João 31..50 Média-Alta Professor Sim
Carlos 31..50 Média-Alta Engenheiro Sim
Maria 31..50 Baixa Vendedora Não
Paulo ≤ 30 Baixa Porteiro Não
Otavio > 60 Média-Alta Aposentado Não
SE.
Idade ≤ 30 Renda é Média Compra-Produto-Eletrônico = SIM. E ENTÃO
Mestrado em Ciencia da Computacao 3
Etapas do Processo
REGRAS
Classificador
Amostras Classificadas Banco de
Testes
REGRAS CONFIÁVEIS
Mestrado em Ciencia da Computacao 4
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 5
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 6
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
C1 C2
C1 Positivos
verdadeiros
Falsos Negativos
C2 Falsos
Positivos
Negativos
verdadeiros
Classes Preditas
Classes Reais
Mestrado em Ciencia da Computacao 7
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âncerNã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
Mestrado em Ciencia da Computacao 8
Processo de Classificação
Dados
Amostras
Dados de teste
Deriva Modelo(Regras)
Calcula Acuracia
Mestrado em Ciencia da Computacao 9
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 10
Árvore de Decisão IDADE
RENDAPROFISSÃO
≤ 30
BM
M-A A
>60 51-6031-50
MedProf
VendEng
Não
Sim
Sim SimSimNão Não
Sim
SimSim
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 11
Como criar uma Árvore de Decisão – Algoritmo ID3
C1CASO 1
A B C CLASSE
a1 b1 c1 X
a1 b2 c1 X
a2 b1 c1 X
a2 b2 c2 X
a1 b2 c2 X
Mestrado em Ciencia da Computacao 12
Como criar uma Árvore de DecisãoA B C CLASSE
a1 b1 c1 X
a1 b2 c1 X
a2 b1 c1 Y
a2 b2 c2 X
a1 b2 c2 YA B C CLASSE
a1 b1 c1 X
a1 b2 c1 X
a1 b2 c2 Y
CASO 2
LISTA-ATRIBUTOS = {
Atributo-Teste =
O que mais reduz a entropia
A B C CLASSE
a2 b1 c1 Y
a2 b2 c2 X
A
a1 a2
A, B, C }
Mestrado em Ciencia da Computacao 13
Como criar uma Árvore de Decisão
A B C CLASSE
a1 b2 c2 Y
A B C CLASSE
a1 b1 c1 X
a1 b2 c1 X
a1 b2 c2 YA B C CLASSE
a1 b1 c1 X
a1 b2 c1 X
LISTA-ATRIBUTOS = {
Atributo-Teste =
O que mais reduz a entropia = C
Aa1 a2
B, C }
C
c1 c2
X Y
Mestrado em Ciencia da Computacao 14
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 15
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 16
Um ExemploAparência Temperatura Humidade Vento Classe
Sol Quente Alta Não Ruim
Sol Quente Alta Sim Ruim
Encoberto Quente Alta Não Bom
Chuvoso Agradavel Alta Não Bom
Chuvoso Frio Normal Não Bom
Chuvoso Frio Normal Sim Ruim
Encoberto Frio Normal Sim Bom
Sol Agradavel Alta Não Ruim
Sol Frio Normal Não Bom
Chuvoso Agradavel Normal Não Bom
Sol Agradavel Normal Sim Bom
Encoberto Agradavel Alta Sim Bom
Encoberto Quente Normal Não Bom
Chuvoso Agradavel Alta Sim Ruim
Mestrado em Ciencia da Computacao 17
1a divisão possível : Aparência APARÊNCIA
Sol ChuvaEnc
BomBomBom
Bom Bom
Bom
BomBom
BomBom
RuimRuim Ruim
Ruim
Entrop(D) = 5/14 * Entrop(F1) + 4/14*Entrop(F2) + 5/14*Entrop(F3)
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
= 0.693
Mestrado em Ciencia da Computacao 18
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 19
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 20
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 21
Algoritmo ID3Gera-á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 X6. 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.
Mestrado em Ciencia da Computacao 22
Implementações Christian Borgelt's Webpageshttp://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 23
Exercicio : amostrasA B C D CLASSE
a1 b1 c1 d1 SIM
a1 b1 c2 d1 NAO
a2 b2 c1 d1 SIM
a2 b2 c2 d2 NAO
a1 b2 c2 d1 NAO
a2 b1 c2 d2 SIM
a3 b2 c2 d2 SIM
a1 b3 c1 d1 SIM
a3 b1 c1 d1 NAO
Mestrado em Ciencia da Computacao 24
Exercicio - TestesA B C D CLASSE
a2 b2 c2 d1 SIM
a1 b1 c2 d2 NÃO
a2 b2 c1 d3 SIM
a2 b2 c2 d1 SIM
a1 b2 c2 d2 NÃO
a2 b1 c2 d1 SIM
a3 b3 c2 d2 SIM
a1 b3 c1 d1 NÃO
a3 b3 c1 d1 NÃO
Mestrado em Ciencia da Computacao 25
Acurácia, Sensividade, PrecisãoA B C D CLASSE
a2 b2 c2 d1
a1 b1 c2 d2
a2 b2 c1 d3
a2 b2 c2 d1
a1 b2 c2 d2
a2 b1 c2 d1
a3 b3 c2 d2
a1 b3 c1 d1
a3 b3 c1 d1
Recommended