classifica çã o arvores de decis ã o

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

Upload: hester

Post on 04-Jan-2016

29 views

Category:

Documents


0 download

DESCRIPTION

Classifica çã o Arvores de Decis ã o. AULAS 8 e 9 Data Mining. Classificação. SE. Idade ≤ 30. E. Renda é Média. ENTÃO. Compra-Produto-Eletrônico = SIM. Etapas do Processo. REGRAS. Amostras Classificadas. Banco de Testes. Classificador. REGRAS CONFIÁVEIS. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Classifica çã o Arvores de Decis ã o

ClassificaçãoArvores de Decisão

AULAS 8 e 9

Data Mining

Page 2: Classifica çã o Arvores de Decis ã o

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

Page 3: Classifica çã o Arvores de Decis ã o

Mestrado em Ciencia da Computacao 3

Etapas do Processo

REGRAS

Classificador

Amostras Classificadas Banco de

Testes

REGRAS CONFIÁVEIS

Page 4: Classifica çã o Arvores de Decis ã o

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

Page 5: Classifica çã o Arvores de Decis ã o

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

Page 6: Classifica çã o Arvores de Decis ã o

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

Page 7: Classifica çã o Arvores de Decis ã o

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

Page 8: Classifica çã o Arvores de Decis ã o

Mestrado em Ciencia da Computacao 8

Processo de Classificação

Dados

Amostras

Dados de teste

Deriva Modelo(Regras)

Calcula Acuracia

Page 9: Classifica çã o Arvores de Decis ã o

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]

Page 10: Classifica çã o Arvores de Decis ã o

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

Page 11: Classifica çã o Arvores de Decis ã o

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

Page 12: Classifica çã o Arvores de Decis ã o

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 }

Page 13: Classifica çã o Arvores de Decis ã o

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

Page 14: Classifica çã o Arvores de Decis ã o

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.

Page 15: Classifica çã o Arvores de Decis ã o

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

Page 16: Classifica çã o Arvores de Decis ã o

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

Page 17: Classifica çã o Arvores de Decis ã o

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

Page 18: Classifica çã o Arvores de Decis ã o

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

Page 19: Classifica çã o Arvores de Decis ã o

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

Page 20: Classifica çã o Arvores de Decis ã o

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

Page 21: Classifica çã o Arvores de Decis ã o

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.

Page 22: Classifica çã o Arvores de Decis ã o

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

Page 23: Classifica çã o Arvores de Decis ã o

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

Page 24: Classifica çã o Arvores de Decis ã o

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

Page 25: Classifica çã o Arvores de Decis ã 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