1 / 35

Avaliação de Classificadores Binários

Avaliação de Classificadores Binários. AULA 9 – Parte I DATA MINING Sandra de Amo. Acur á cia – Taxa de erros. Acc(M) = porcentagem das tuplas dos dados de teste que são corretamente classificadas. Err(M) = 1 – Acc(M) Matriz de Confus ã o. Classes Preditas. Classes Reais.

vashon
Download Presentation

Avaliação de Classificadores Binários

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Avaliação de Classificadores Binários AULA 9 – Parte I DATA MINING Sandra de Amo

  2. Acurácia – Taxa de erros • Acc(M) = porcentagem das tuplas dos dados de teste que são corretamente classificadas. • Err(M) = 1 – Acc(M) • Matriz de Confusão Classes Preditas Classes Reais

  3. Problemas:Classes “não-balanceadas” 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 ?

  4. Medidas para classificadores (classes não-balanceadas) % pacientes classificados corretamente como positivos dentre todos os que realmente são positivos • Sensitividade (recall)= true-pos • pos • Especificidade = true-neg • neg • Precisão = true-pos • true-pos + falso-pos % pacientes classificados corretamente como positivos dentre todos os que foram classificadoscomo positivos Precisão e Recall : medidas originadas em Recuperação de Informação utilizadas em Classificação, quando se lida com “classes não-balanceadas”

  5. 2 TP 2TP + FP + FN 2 1 1 + r p Medida F1 : Média harmônica de Precisão e Recall 2 rp F1 = r + p Exercicio: 1. Mostrar que F1 = Exercicio: 2. Mostrar que F1 = = média harmônica entre p e r Média harmônica entre dois números x e y tende a ser próxima de min(x,y) Assim, F1 alto implica que precisão e recall são razoavelmente altos.

  6. Trade-off entre TP e FP FP TP FN TN POSITIVOS REAIS NEGATIVOS REAIS

  7. Curva ROC • ROC = Receiver Operating Characteristic Curve • Enfoque gráfico que mostra um trade-off entre as taxas de TP (TPR) e FP (FPR) de um classificador. • TPR = TP/(TP + FN) ( = recall) = Porcentagem de amostras corretamente classificadas como positivas dentre todas as positivas reais • FPR = FP/(TN + FP) Porcentagem de amostras erroneamente classificadas como positivas dentre todas as negativas reais • Ideal : TPR = 1 e FPR = 0

  8. Exercício • Total de amostras = 12 • Positivas = 8 • Negativas = 4 • TP = 5 • FP = 2 • Calcular precisão, recall, acurácia, TPR, FPR, TNR, FNR, F1

  9. O que é uma curva ROC de um classificador ? • Classificador = método de classificação (ID3, J48, SVM,...) • Classificador + Dados de Amostras  M1, M2, ..., Mk • Mi = modelo do classificador • Mi  TPR, FPR Curva ROC do classificador: Plotagem da tabela FPR/TPR

  10. Como classificar uma amostra usando diferentes modelos do classificador ? • O classificador precisa produzir, para cada tupla X, a probabilidade que a tupla X ser classificada na classe Positiva. • Classificadores como redes neurais e redes bayesianas produzem tais probabilidades. • Para outros tipos de classificadores, é preciso calcular esta probabilidade.

  11. Como classificar uma amostra usando diferentes modelos do classificador ? • D = conjunto de amostras classificadas • Amostragem de D = (Tr, Te) • Tr = Treinamento , Te = Testes , Tr U Te = D • Uma amostragem (Tr, Te) induz um modelo M do classificador • Classificação de uma amostra X • Pi = probabilidade de X ser classificada na classe ci = porcentagem de modelos que classifica X na classe ci

  12. Construção da Curva ROC de um classificador • Escolhe-se aleatoriamente m amostras da massa de dados: x1, ..., xm • Calcula-se pi = probabilidade de xi ser classificada na classe positiva. • Ordena-se as amostras xi por ordem crescente das probabilidades • p1 < p2 < ... < pm • Existem modelos M1, M2, ..., Mm, Mm+1 tais que: • M1: Classificam todos os xi como positivos • M2: Classificam um como negativo e os outros como positivos • ... Mi: Classificam (i-1) como negativos e os outros como positivos • Logo, é razoável supor que:

  13. Cálculo de TPR e FPR para cada modelo Mi

  14. Exemplo Classe + - + - - - + - + + 0.76 0.95 0.43 0.25 0.53 0.85 0.85 0.85 0.87 0.93 1.00 TP 4 4 3 3 3 3 2 2 1 0 5 5 4 3 2 1 1 0 0 0 5 4 FP 0 1 2 3 4 4 5 5 5 0 1 TN 2 2 2 2 3 3 4 5 1 1 FN 0 1 0.8 0.8 0.6 0.6 0.6 0.6 0.4 0.4 0.2 0 TPR 1 0.8 FPR 1 0.8 0.6 0.4 0.2 0.2 0 0 0

  15. Exemplo TPR 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 FPR

  16. Curva Roc • Cada ponto na curva corresponde a um dos modelos induzidos pelo classificador • Um bom modelo deve estar localizado próximo do ponto (0,1) • Modelos localizados na diagonal são modelos aleatórios – TPR = FPR • Modelos localizados acima da diagonal são melhores do que modelos abaixo da diagonal.

  17. Exemplo TPR 1.0 Modelo ideal 0.9 0.8 0.7 0.6 0.5 0.4 0.3 Modelos que fazem previsões aleatórias 0.2 0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 FPR

  18. Comparando performance relativas de diferentes classificadores • Curvas Roc são utilizadas para se medir a performance relativa de diferentes classificadores. M1 M2 Até aqui M2 é melhor do que M1 A partir daí, M1 fica melhor do que M2 x

  19. Area abaixo da curva ROC (AUC) • A área abaixo da curva ROC fornece medida para comparar performances de classificadores. • Quanto maior a área AUC melhor a performance global do classificador. • Classificador optimal: área =1 • Classificador randômico : área = 0.5

  20. Referências • P-N Tan et al. Introduction to Data Mining – Capitulo 5, seção 5.7 • Jesse Davis, Mark Goadrich - The Relationship between Precision-Recall and ROC Curves. Proc. 23rd Int. Conf. On Machine Learning. 2006. • Gary M. Weiss. Mining with Rarity: A Unifying Framework. SIGKDD Explorations, Vol. 6, Issue 1, 2007. • Software: AUCCalculator 0.2 A Java program for finding AUC-ROC and AUC-PR http://www.cs.wisc.edu/~richm/programs/AUC/

  21. Classificadores Bayesianos Naive AULA 9 – Parte II Sandra de Amo 9/25/2014 21

  22. Classificadores Bayesianos Classificadores estatísticos Classificam um objeto numa determinada classe C baseando-se na probabilidade do objeto pertencer à classe C Vantagens Processo de classificação rápido Grande acurácia quando aplicados a grandes volumes de dados. 9/25/2014 Mestrado em Ciência da Computação 22

  23. Classificador Bayesiano Simples Hipótese: atributos não-classe são independentes Valor de um atributo não influencia o valor de outros atributos Exemplo: Idade, Profissão, Rendanão são independentes. Um médico tem uma probabilidade maior de ter uma renda alta do que um porteiro. Gênero, Cidade, Idadesão independentes Porque considerar atributos independentes ? Cálculos envolvidos no processo de classificação são simplificados 9/25/2014 Mestrado em Ciência da Computação 23

  24. Como funciona um classificador Bayesiano simples Classificador Eager – Constrói um modelo de classificação baseado em probabilidades condicionais Método geral D = base de treinamento – (tuplas classificadas) X = (a, b, c) : tupla não classificada X pode ser vista como um evento conjunto A = a e B = b e C = c X é classificada na classe Ci se P[Ci|X] > P[Cj|X] para todo j diferente de i P[Ci|X] = probabilidade condicional do evento Classe= Ci acontecer dado que o evento conjunto A = a e B = b e C = c acontece. 9/25/2014 Mestrado em Ciência da Computação 24

  25. Classificação de uma tupla X Envolve o cálculo de todas as probabilidades condicionais P[Ci|X] para todo i = 1,…,n, onde n = número de classes A probabilidade mais alta corresponde à classe em que X será classificada P[Ci|X] : Probabilidade Posterior 9/25/2014 Mestrado em Ciência da Computação 25

  26. Como calcular as probabilidades posteriores ? P[X ∩ C] = P[X|C] * P[C] = P[C|X] * P[X] Teorema de Bayes P[C|X] = P[X|C] * P[C] P[X] P[X] é constante (pois X está fixa) Para maximizar P[C|X] basta maximizar o numerador P[X|C] * P[C] 9/25/2014 Mestrado em Ciência da Computação 26

  27. Como maximizar P[X|C] * P[C] P[C]é calculada através do banco de amostras É preciso encontrar a classe C para a qual o produto P[X|C] * P[C] é máximo Como calcular P[X|C] ? P[X|C] = P[A1=x1,A2=x2, ...,An = xn |C] onde X = (x1, x2, ..., xn) 9/25/2014 Mestrado em Ciência da Computação 27

  28. Classificador Bayesiano Naïve Hipótese:Independência condicional dos atributos A1,...,An dado C A1, ..., An são ditos independentes dado C se P[Ai=xi | A1=x1 ,..., Ai-1 =xi-1,...,An=xn,C] = P[Ai=xi | C] para todo i ϵ {1,...,n} 9/25/2014 Mestrado em Ciência da Computação 28

  29. Corolário A1, ..., An são independentes dado C se e somente se P[A1=x1,A2=x2,... , An= xn |C] = P[A1=x1| C] * … * P[An=xn| C] Prova: Aplicando o Teorema de Bayes para P[A1=x1,A2=x2,... , An= xn,C] : P[A1=x1,A2=x2,... , An= xn,C] = P[A1=x1,A2=x2,...,An = xn |C] . P[C] P[A1=x1, A2=x2,... , An= xn,C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2,...,An=xn,C] Logo: P[A1=x1,A2=x2,...,An = xn |C] . P[C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2,...,An=xn,C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2,...,An=xn|C]. P[C] Logo: P[A1=x1,A2=x2,... An=xn |C] = P[A1=x1| A2=x2,...,An=xn, C]. P[A2=x2, ...,An=xn|C] = P[A1=x1| C]. P[A2=x2,..., An=xn|C] (usando a condição de independência dos atributos A1, ...., An) Repetindo o processo paraP[A2=x2,...,An=xn|C] e assim por diante, concluimos a prova. 9/25/2014 Mestrado em Ciência da Computação 29

  30. Cálculos Cada P[Ai=xi | C ] é calculada da seguinte maneira Se Ai é atributo categórico P[Ai=xi | C ] = P[Ai=xi,C ] / P[C] = núm. de tuplas classificadas em C com Ai = xi Total de tuplas classificadas em C 9/25/2014 Mestrado em Ciência da Computação 30

  31. Cálculos Se Ai é atributo contínuo (não categórico) P[Ai=xi | C ] = g(Ai= xi, μ(C) , σ(C)) Onde g = função de distribuição de Gauss μ(C) = média σ(C) = desvio padrão -(x- μ) 2σ 2 g(A= x, μ(C) , σ(C)) = 1 e 2 √2Π * σ 9/25/2014 Mestrado em Ciência da Computação 31

  32. Resumo Input: um banco de tuplas classificadas Uma tupla X a ser classificada Output: P[C1|X], P[C2|X], ..., P[Cn|X],onde C1,...,Cn são todos os valores do atributo classe C A tupla X é classificada na classe Ci para a qual o número P[Ci|X] é o maior. 9/25/2014 Mestrado em Ciência da Computação 32

  33. Exemplo Compra-computador 9/25/2014 Mestrado em Ciência da Computação 33

  34. Exemplo C1= sim, C2 = não Tupla desconhecida X = (≤ 30, Média,Sim,Bom) Precisamos maximizar P[X|Ci] * P[Ci] para i =1,2 P[C1] = 9/14 = 0.643 P[C2] = 5/14 = 0.357 P[Idade ≤ 30 | Compra = Sim ] = 2/9 = 0.222 P[Idade ≤ 30 | Compra = Não ] = 3/5 = 0.6 P[Renda = Média | Compra = Sim ] = 4/9 = 0.444 P[Renda = Média | Compra = Não ] = 2/5 = 0.4 9/25/2014 Mestrado em Ciência da Computação 34

  35. Exemplo P[Est = sim | Compra = Sim ] = 6/9 = 0.667 P[Est = sim | Compra = Não ] = 1/5 = 0.2 P[Crédito = bom| Compra = Sim ] = 6/9 = 0.667 P[Crédito = bom | Compra = Não ] = 2/5 = 0.4 P[X|C1] = 0.222*0.444*0.667*0.667 = 0.044 P[X|C2] = 0.6*0.4*0.2*0.4 = 0.019 P[X|C1]*P[C1] = 0.044*0.643 = 0.028 P[X|C2]*P[C2] = 0.019*0.357 = 0.007 Tupla X classificada na classe C1 (compra computador = sim) 9/25/2014 Mestrado em Ciência da Computação 35

More Related