mineração de dados

28
Mineração de dados Classificação: avaliação de modelos Prof. Luis Otavio Alvares (INE/UFSC) Parte desta apresentação é baseada em material do prof. Paulo Engel (II/UFRGS)

Upload: desirae-lancaster

Post on 15-Mar-2016

48 views

Category:

Documents


5 download

DESCRIPTION

Mineração de dados. Classificação: avaliação de modelos Prof. Luis Otavio Alvares (INE/UFSC) Parte desta apresentação é baseada em material do prof. Paulo Engel (II/UFRGS). Relembrando Classificação. Exemplo de dados para concessão de empréstimo bancário. montante. médio. baixo. alto. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Mineração de dados

Mineração de dados

Classificação: avaliação de modelos

Prof. Luis Otavio Alvares(INE/UFSC)

Parte desta apresentação é baseada em material do prof. Paulo Engel (II/UFRGS)

Page 2: Mineração de dados

Relembrando Classificação

Apply Model

Induction

Deduction

Learn Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

Learningalgorithm

Training Set

Page 3: Mineração de dados

Exemplo de dados para concessão de empréstimo bancário

caso montante idade salário conta empréstimo 1 médio sênior baixo sim não 2 médio sênior baixo não não 3 baixo sênior baixo sim sim 4 alto média baixo sim sim 5 alto jovem alto sim sim 6 alto jovem alto não não 7 baixo jovem alto não sim 8 médio média baixo sim não 9 médio jovem alto sim sim 10 alto média alto sim sim 11 médio média alto não sim 12 baixo jovem baixo não sim 13 baixo sênior alto sim sim 14 alto média baixo não não

Page 4: Mineração de dados

Resultado: modelo de classificação

montante

médio baixo alto

contasalário

baixo alto não sim

E=simE=não E=não E=sim

E=sim

Page 5: Mineração de dados

Avaliação da árvore de decisãocaso montante idade salário conta empréstimo

1 médio sênior baixo sim não 2 médio sênior baixo não não 3 baixo sênior baixo sim sim 4 alto média baixo sim sim 5 alto jovem alto sim sim 6 alto jovem alto não não 7 baixo jovem alto não sim 8 médio média baixo sim não 9 médio jovem alto sim sim 10 alto média alto sim sim 11 médio média alto não sim 12 baixo jovem baixo não sim 13 baixo sênior alto sim sim 14 alto média baixo não não

montante

médio baixo alto

contasalário

baixo alto não sim

E=simE=não E=não E=sim

E=sim

Avaliação através da taxa de acertos/erros:

taxa_de_erros = Nerros / Ntotal taxa_de_acertos = Nacertos / Ntotal

Utilizando o conjunto de treinamento:

proporção_de_acertos = 14 / 14 = 100%proporção_de_erros = 0 / 14 = 0%

Page 6: Mineração de dados

Conjunto de teste

caso montante idade salário conta empréstimo empréstimo(predito)

15 médio sênior alto sim sim sim 16 médio sênior alto não não sim 17 baixo jovem alto sim sim sim 18 baixo sênior alto não não sim 19 alto média alto não não não 20 alto jovem alto sim sim sim 21 médio jovem alto sim sim sim

Page 7: Mineração de dados

Proporção de acertos/erros

Utilizando o conjunto de teste: proporção_de_acertos = Nacertos / Ntotal

proporção_de_acertos = 5 / 7 = 71,4%

proporção_de_erros = Nerros / Ntotal proporção_de_erros = 2 / 7 = 28,6%

Page 8: Mineração de dados

Avaliação do modelo gerado

Page 9: Mineração de dados

• O foco deve estar na capacidade preditiva do modelo– E não no tempo que leva para classificar ou criar um modelo, na

escalabilidade, etc.

• Baseadas na Matriz de Confusão (exemplo com duas classes):

Métricas para avaliação de desempenho

Classe prevista

Sim Não

Classereal

Sim VerdadeiroPositivo (VP)

FalsoNegativo (FN)

Não FalsoPositivo (FP)

Verdadeiro Negativo (VN)

Page 10: Mineração de dados

Métricas para avaliação de desempenho...

Classe prevista

Sim Não

Classereal

SimVerdadeiro

Positivo (VP)Falso

Negativo (FN)

NãoFalso

Positivo (FP)Verdadeiro

Negativo (VN)

• Métricas mais usadas: – Acurácia (mais usada), Erro

%100nVNVP

FNFPVNVPn

%100nFNFPAcurácia: Erro:

Page 11: Mineração de dados

Exercício em sala Casa Própria

Est.Civil

4

1

2 3

nãosim

separado

solteirocasado

Casa Própria Est.Civil Renda

MauPagador

sim solteiro 125 Não

não casado 100 Não

não solteiro 70 Não

sim casado 120 Não

não separado 95 Sim

não casado 60 Não

sim separado 220 Não

não solteiro 85 Sim

não casado 75 Não

não solteiro 90 sim

1. Complete a árvore de decisão colocando no lugar dos números das folhas, a classe, de forma a minimizar os erros de classificação.

2. Faça a matriz de confusão correspondente.

Page 12: Mineração de dados

Taxa de VP :(sensibilidade, abrangência,

recall)

Outras métricas para avaliação de desempenho

%100FNVPVP

Taxa de VN (especificidade):

%100FPVNVN

Precisão: %100FPVPVP

Classe prevista

Sim Não

Classereal

Sim VP FN

Não FP VN

F-measure: recallprecisãorecallprecisão

..2 (Média harmônica entre precisão e recall)

Page 13: Mineração de dados

• Considere um problema de 2 classes– Número de exemplos da classe 0 = 9.990

– Número de exemplos da classe 1 = 10

• Se o modelo predizer que qualquer amostra é da classe 0, a acurácia é 9990/10000 = 99,9 %– A acurácia é enganosa porque o modelo não detecta nenhum

exemplo da classe 1!

• Solução: levar em consideração custos por classe para erros de classificação

Exemplo: Previsão de culpa em julgamento: positivo pena de morte

Limitação da acurácia

Page 14: Mineração de dados

• C(i|j): custo de classificar exemplos da classe j, como sendo da classe i

Matriz de custo

C(i|j)Classe prevista

Sim Não

Classereal

Sim C(Sim|Sim) C(Não|Sim)

Não C(Sim|Não) C(Não|Não)

Page 15: Mineração de dados

Acurácia = 80%Custo = 3910

Cálculo de custos de classificação

Matriz de Custo

C(i|j)

Classe previstaSim Não

Classereal

Sim -1 100

Não 1 0

ModeloM1

Classe previstaSim Não

Classereal

Sim 150 40

Não 60 250

ModeloM2

Classe previstaSim Não

Classereal

Sim 250 45

Não 5 200

Acurácia = 90%Custo = 4255

Page 16: Mineração de dados

• Quão preditivo é o modelo aprendido?• Erro sobre os dados de treinamento não é um bom

indicador de desempenho sobre dados futuros: é muito otimista

• Solução simples pode ser usada se existirem muitos dados rotulados:– Dividir dados em conjuntos de treinamento e de teste

• Mas: normalmente o número de dados rotulados é limitado– São necessárias técnicas mais sofisticadas de avaliação

Métodos para avaliação de modelos

Page 17: Mineração de dados

y < 0.33?

: 0 : 3

: 4 : 0

y < 0.47?

: 4 : 0

: 0 : 4

x < 0.43?

Yes

Yes

No

No Yes No

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

yAvaliação de modelos

Page 18: Mineração de dados

Avaliação de modelos

Page 19: Mineração de dados

Avaliação de modelos

Page 20: Mineração de dados

• Conjunto de teste: conjunto de exemplos (registros) independentes que não foram usados na geração do modelo– Suposição: os dados de treinamento e os dados de teste são

amostras representativas do problema

• Arquivos de teste e de treinamento podem ter naturezas diferentes– Exemplo: classificadores construídos usando dados de consumidores

de duas cidades diferentes A e B– Para estimar o desempenho do classificador, gerado com os dados

da cidade A, numa cidade diferente, testá-lo com dados de B

Treinamento e teste …

Page 21: Mineração de dados

• Geralmente, quanto maior o arquivo de treinamento melhor o classificador

• Quanto maior o arquivo de teste mais exata será a estimativa de erro

• Procedimento holdout (retenção): dividir os dados originais em conjuntos de treinamento e de teste– Dilema: queremos tanto um grande arquivo de treinamento quanto

um grande arquivo de teste

Tirando o máximo dos dados

Page 22: Mineração de dados

• O que fazer se a quantidade de dados é limitada?• Método holdout reserva uma certa quantidade dos dados

para teste e usa o resto para o treinamento– Usualmente 1/3 para teste, o resto para treinamento

• Mas: as amostras podem não ser representativas– Exemplo: pode não haver amostras de uma classe nos dados de

teste

• Versão avançada usa estratificação– Assegura que cada classe esteja representada com proporções

aproximadamente iguais em ambos os conjuntos

• Após a avaliação, todos os dados podem ser usados para construir o classificador final !!!!

Estimação por retenção (holdout)

Page 23: Mineração de dados

• Validação cruzada evita superposição dos conjuntos de teste– Primeiro passo: conjunto de dados é dividido em k subconjuntos de tamanhos

iguais– Segundo passo: um subconjunto é usado para teste e os demais para

treinamento.– O segundo passo é repetido k vezes, variando o subconjunto usado para teste– Esta é a chamada validação cruzada por k vezes

• Muitas vezes os subconjuntos são estratificados antes de realizar a validação cruzada

• A estimativa de erro global é calculada como a média das k estimativas de erro (uma para cada iteração)

Validação cruzada (cross-validation)

Page 24: Mineração de dados

four-fold-cross-validation

subconj 1

subconj 2

subconj 3

subconj 4

Conjunto de

Exemplos

subconj 1

subconj 2

subconj 3

subconj 4

teste

treino

treino

treino subconj 1

subconj 2

subconj 3

subconj 4

teste

treino

treino

treino

subconj 1

subconj 2

subconj 3

subconj 4

teste

treino

treino

treino

subconj 1

subconj 2

subconj 3

subconj 4teste

treino

treino

treino

Modelo 1 Modelo 2 Modelo 3 Modelo 4

Page 25: Mineração de dados

• Método padrão de avaliação: validação cruzada por dez vezes estratificada

• Por que dez? Experimentos demonstraram que esta é uma boa escolha para se obter uma estimativa precisa

• Estratificação reduz a variância da estimativa

• Melhor ainda: validação cruzada estratificada repetida– P. ex. se repete dez vezes a validação cruzada por dez vezes e se

calcula a média (reduz variância)

Mais sobre validação cruzada

Page 26: Mineração de dados

• Validação cruzada deixando um fora (leave-one-out c-v):– O número de vezes é escolhido como o número de exemplos de

treinamento

– Isto é, deve-se construir n classificadores, onde n é o número de exemplos de treinamento

• Aproveita ao máximo os dados

• Não envolve sub-amostragem aleatória

• Computacionalmente muito custoso

Validação cruzada deixando um fora

Page 27: Mineração de dados

Navalha de Occam Dados dois modelos com mesma taxa de erros, o

modelo mais simples é melhor (preferível)

Page 28: Mineração de dados

lágrimas astigma-tismo

pressão prescrição LENTES

normal sim normal hipermetr. NÃOnormal não normal miopia GELAT.normal sim normal miopia DURAreduzida sim alta miopia NÃOreduzida não normal hipermetr. NÃOnormal não alta hipermetr. NÃOnormal não alta miopia GELAT.normal sim normal miopia DURAnormal sim alta hipermetr. NÃOnormal sim alta miopia DURAnormal sim normal miopia. DURA

lágrimas

3 4

2

1

normal reduzida

astigmat.

sim não

prescrição

miopia hipermetr.

1. Complete a árvore de decisão colocando no lugar dos números das folhas, a classe, de forma a minimizar os erros de classificação.

2. Faça a matriz de confusão correspondente.

Exercício em sala