Mineração de dados
-
Upload
desirae-lancaster -
Category
Documents
-
view
48 -
download
5
description
Transcript of 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)
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
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
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
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%
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
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%
Avaliação do modelo gerado
• 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)
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:
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.
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)
• 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
• 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)
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
• 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
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
Avaliação de modelos
Avaliação de modelos
• 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 …
• 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
• 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)
• 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)
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
• 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
• 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
Navalha de Occam Dados dois modelos com mesma taxa de erros, o
modelo mais simples é melhor (preferível)
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