A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Classificação: avaliação de modelos

Apresentações semelhantes


Apresentação em tema: "Classificação: avaliação de modelos"— Transcrição da apresentação:

1 Classificação: avaliação de modelos
Mineração de dados Classificação: avaliação de modelos André Salvaro Furtado Prof. Vania Bogorny Parte desta apresentação é baseada em material do prof. Paulo Engel (II/UFRGS)

2 Relembrando Classificação

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

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

5 ID3 – Passo 1: Calcular a entropia do conjunto
Entropia (S) = - (p+ * log2 p+ + p- * log2 p-) Entropia (S) = - ((9/14 * log29/14) + (5/14 * log25/14)) = 0.940

6 ID3 – Passo 2: Calcular a entropia dos valores dos atributos
Entropia(montante=médio) = - ((2/5 * log22/5) + (3/5 * log23/5)) = 0,971

7 ID3 – Passo 2: Calcular a entropia dos valores dos atributos
Entropia(montante=médio) = - ((2/5 * log22/5) + (3/5 * log23/5)) = 0,971 Entropia(montante=baixo) = - ((4/4 * log24/4) + (0/4 * log20/4)) = 0

8 ID3 – Passo 2: Calcular a entropia dos valores dos atributos
Entropia(montante=médio) = - ((2/5 * log22/5) + (3/5 * log23/5)) = 0,971 Entropia(montante=baixo) = - ((4/4 * log24/4) + (0/4 * log20/4)) = 0 Entropia(montante=alto) = - ((3/5 * log23/5) + (2/5 * log22/5)) = 0,971

9 ID3 – Passo 2: Calcular a entropia dos valores dos atributos
Entropia(montante=médio) = - 2/5 log2 (2/5) - 3/5 log 2 (3/5) = 0,971 Entropia(montante=baixo) = - 4/4 log2 (4/4) - 0/4 log2 (0/4) = 0 Entropia(montante=alto) = - 3/5 log2 (3/5) - 2/5 log2 (2/5) = 0,971 Entropia (idade = senior)= - 2/4 log2 (2/4) - 2/4 log2 (2/4) = 1 Entropia (idade = média)= - 3/5 log2 (3/5) - 2/5 log2 (2/5) = 0,971 Entropia (idade = jovem)= - 4/5 log2 (4/5) - 1/5 log2 (1/5) = 0,722 ...

10 ID3 – Passo 3: Calcular o ganho de informação dos atributos
Entropia(montante=médio) = - 2/5 log2 (2/5) - 3/5 log 2 (3/5) = 0,971 Entropia(montante=baixo) = - 4/4 log2 (4/4) - 0/4 log2 (0/4) = 0 Entropia(montante=alto) = - 3/5 log2 (3/5) - 2/5 log2 (2/5) = 0,971 Entropia (idade = senior)= - 2/4 log2 (2/4) - 2/4 log2 (2/4) = 1 Entropia (idade = média)= - 3/5 log2 (3/5) - 2/5 log2 (2/5) = 0,971 Entropia (idade = jovem)= - 4/5 log2 (4/5) - 1/5 log2 (1/5) = 0,722 ... Entropia (S) = - ((9/14 * log29/14) + (5/14 * log25/14)) = 0.940 Ganho (S,montante) = 0,940 - (5/14). 0,971 - (4/14). 0 - (5/14). 0,971 = 0,246 Ganho (S,idade) = 0,940 - (4/14). 1 - (5/14). 0,971 - (5/14). 0,722 = 0,049 Ganho (S,salário) = 0,940 - (7/14). 0,592 - (7/14). 0,985 = 0,151 Ganho (S,conta) = 0,940 - (8/14). 0,811 - (6/14). 1 = 0,047

11 ID3 – Passo 4: Selecionar o melhor atributo
Entropia(montante=médio) = - 2/5 log2 (2/5) - 3/5 log 2 (3/5) = 0,971 Entropia(montante=baixo) = - 4/4 log2 (4/4) - 0/4 log2 (0/4) = 0 Entropia(montante=alto) = - 3/5 log2 (3/5) - 2/5 log2 (2/5) = 0,971 Entropia (idade = senior)= - 2/4 log2 (2/4) - 2/4 log2 (2/4) = 1 Entropia (idade = média)= - 3/5 log2 (3/5) - 2/5 log2 (2/5) = 0,971 Entropia (idade = jovem)= - 4/5 log2 (4/5) - 1/5 log2 (1/5) = 0,722 ... Entropia (S) = - ((9/14 * log29/14) + (5/14 * log25/14)) = 0.940 Ganho (S,montante) = 0,940 - (5/14). 0,971 - (4/14). 0 - (5/14). 0,971 = 0,246 Ganho (S,idade) = 0,940 - (4/14). 1 - (5/14). 0,971 - (5/14). 0,722 = 0,049 Ganho (S,salário) = 0,940 - (7/14). 0,592 - (7/14). 0,985 = 0,151 Ganho (S,conta) = 0,940 - (8/14). 0,811 - (6/14). 1 = 0,047

12 Escolha do próximo atributo
montante médio baixo alto ? E=sim {C1,C2,...C14} [9+, 5-] {C1,C2,C8,C9,C11} [2+, 3-] {C3,C7,C12,C13} [4+, 0-] {C4,C5,C6,C10,C14} [3+, 2-] casos proporção dos casos Qual atributo será colocado aqui? Repetir os passos 1, 2, 3 e 4 para os outros atributos considerando o conjunto de dados S = {C1,C2,C8,C9,C11}

13 Resultado: modelo de classificação
montante médio baixo alto conta salário não sim E=sim E=não

14 Avaliação da Árvore de Decisão
Como avaliar as regras utilizadas na árvore de decisão na tarefa de classificação? Taxa de Acertos: número de casos classificados corretamente dividido pelo número total de casos taxa_de_acertos = Nacertos / Ntotal Taxa de Erros: número de casos classificados de forma incorreta dividido pelo número total de casos taxa_de_erros = Nerros / Ntotal

15 Avaliação da árvore de decisão
Avaliação através da taxa de acertos/erros: taxa_de_erros = Nerros / Ntotal taxa_de_acertos = Nacertos / Ntotal montante médio baixo alto conta salário não sim E=sim E=não Utilizando o conjunto de treinamento: proporção_de_acertos = 14 / 14 = 100% proporção_de_erros = 0 / 14 = 0%

16 Conjunto de teste

17 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%

18 Métricas para avaliação de desempenho
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): Classe prevista Sim Não Classe real Verdadeiro Positivo (VP) Falso Negativo (FN) Positivo (FP) Negativo (VN)

19 Métricas para avaliação de desempenho...
Classe prevista Sim Não Classe real Verdadeiro Positivo (VP) Falso Negativo (FN) Positivo (FP) Negativo (VN) Métricas mais usadas: Acurácia (mais usada), Erro Acurácia: Erro:

20 Métricas para avaliação de desempenho...
Classe prevista Sim Não Classe real Verdadeiro Positivo (VP) Falso Negativo (FN) Positivo (FP) Negativo (VN) Acurácia: Erro:

21 Métricas para avaliação de desempenho...
Classe prevista Sim Não Classe real Verdadeiro Positivo (VP) Falso Negativo (FN) Positivo (FP) Negativo (VN) Acurácia: Erro:

22 Exercício em sala Casa Própria sim não Est.Civil separado casado
Renda Mau Pagador sim solteiro 125 Não não casado 100 70 120 separado 95 Sim 60 220 85 75 90 Casa Própria sim não 1 Est.Civil separado casado solteiro 2 3 4 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. Faça a matriz de confusão correspondente.

23 Outras métricas para avaliação de desempenho
Taxa de VP : (sensibilidade, abrangência, recall) Classe prevista Sim Não Classe real VP FN FP VN Taxa de VN (especificidade): Precisão: (Média harmônica entre precisão e recall) F-measure:

24 Limitação da acurácia Exemplo: Previsão de culpa em julgamento:
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

25 Matriz de custo C(i|j) Classe prevista Sim Não Classe real C(Sim|Sim) C(Não|Sim) C(Sim|Não) C(Não|Não) C(i|j): custo de classificar exemplos da classe j, como sendo da classe i

26 Cálculo de custos de classificação
Matriz de Custo C(i|j) Classe prevista Sim Não Classe real -1 100 1 Modelo M1 Classe prevista Sim Não Classe real 150 40 60 250 Modelo M2 Classe prevista Sim Não Classe real 250 45 5 200 Acurácia = 80% Custo = 3910 Acurácia = 90% Custo = 4255

27 Métodos para avaliação de modelos
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

28 Avaliação de modelos

29 Avaliação de modelos

30 Avaliação de modelos

31 Treinamento e teste … Conjunto de treinamento: conjunto de exemplos (registros) que foram usados na geração do modelo 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

32 Tirando o máximo dos 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

33 Estimação por retenção (holdout)
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 IMPORTANTE: Após a avaliação, todos os dados podem ser usados para construir o classificador final !!!!

34 Validação cruzada (cross-validation)
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)

35 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 Modelo 1 Modelo 2 Modelo 3 Modelo 4

36 Mais sobre validação cruzada
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)

37 Validação cruzada deixando um fora
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

38 Navalha de Occam Dados dois modelos com mesma taxa de erros, o modelo mais simples é melhor (preferível)

39 Exercício em sala lágrimas astigmat. prescrição lágrimas astigma-tismo
pressão prescrição LENTES normal sim hipermetr. NÃO não miopia GELAT. DURA reduzida alta miopia. lágrimas reduzida normal astigmat. 1 sim não prescrição 2 miopia hipermetr. 4 3 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. Faça a matriz de confusão correspondente.


Carregar ppt "Classificação: avaliação de modelos"

Apresentações semelhantes


Anúncios Google