Você está na página 1de 25

Classificação

Arvores de Decisão
AULAS 8 e 9

Data Mining
Classificação
Nome Idade Renda Profissão Classe
Daniel ≤ 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 E Renda é Média ENTÃO Compra-Produto-Eletrônico = SIM.


.

Mestrado em Ciencia da Computacao 2


Etapas do Processo
Amostras
Classificadas Banco de
REGRAS Testes

Classificador
REGRAS CONFIÁVEIS
Mestrado em Ciencia da Computacao 3
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 4
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 5
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
Classes Preditas

C1 C2
Positivos Falsos
Classes Reais
C1
verdadeiros Negativos
Falsos Negativos
C2
Positivos verdadeiros
Mestrado em Ciencia da Computacao 6
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 % pacientes classificados corretamente
pos com câncer dentre todos os que
realmente tem câncer
 Especificidade = true-neg
neg
 Precisão = true-pos % pacientes classificados corretamente
com câncer dentre todos os que foram
true-pos + falso-pos
classificados com câncer

Mestrado em Ciencia da Computacao 7


Processo de Classificação
Deriva Modelo
Amostras Calcula Acuracia
(Regras)

Dados

Dados
de teste

Mestrado em Ciencia da Computacao 8


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 9
Árvore de Decisão
IDADE
≤ 30 31-50
>60 51-60
PROFISSÃO
RENDA Não Sim
B Med Eng
Prof
M A Vend
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 10
Como criar uma Árvore de Decisão
– Algoritmo ID3
A B C CLASSE
CASO 1 a1 b1 c1
C1
X
a1 b2 c1 X
a2 b1 c1 X
a2 b2 c2 X
a1 b2 c2 X

Mestrado em Ciencia da Computacao 11


Como criar uma Árvore de Decisão
A B C CLASSE
Atributo-Teste =
CASO 2 a1 b1 c1 X
a1 b2 c1 A X O que mais reduz
a2 b1 c1 Y a entropia
a1 a2
a2 b2 c2 X
a1 b2 c2 Y
A B C CLASSE A B C CLASSE
a1 b1 c1 X a2 b1 c1 Y
a1 b2 c1 X a2 b2 c2 X
a1 b2 c2 Y

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

LISTA-ATRIBUTOS = { B, C }
Mestrado em Ciencia da Computacao 13
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 14


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 15


Um Exemplo
Aparê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 16


1a divisão possível : Aparência
APARÊNCIA
Sol Chuva
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 17
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 18


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 19
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 20


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.

Mestrado em Ciencia da Computacao 21


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 22


Exercicio : amostras
A 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 23


Exercicio - Testes
A 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 24


Acurácia, Sensividade, Precisão
A 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

Mestrado em Ciencia da Computacao 25

Você também pode gostar