Classificadores em Dados não
Balanceados
AULA 9
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
C1
C2
C1
Positivos
verdadeiros
Falsos
Negativos
C2
Falsos
Positivos
Negativos
verdadeiros
Classes Reais
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 ?
Medidas para classificadores
(classes não-balanceadas)
Sensitividade (recall) = true-pos
pos
% pacientes classificados corretamente
como positivos dentre todos os que
realmente são positivos
Especificidade = true-neg
neg
Precisão
=
true-pos
true-pos + falso-pos
% pacientes classificados corretamente
como positivos dentre todos os que
foram classificados como 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”
Medida F1 : Média harmônica de
Precisão e Recall
F1 =
2 rp
r+p
2 TP
Exercicio: 1. Mostrar que F1 =
Exercicio: 2. Mostrar que F1 =
2 TP + FP + FN
2
= média harmônica entre p e r
1 + 1
r
p
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.
Trade-off entre TP e FP
TP
FP
FN
TN
POSITIVOS REAIS
NEGATIVOS REAIS
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
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
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
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.
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
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


Existem modelos M1, M2, ..., Mm, Mm+1 tais que:




x1, x2, ..., xm
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:
Cálculo de TPR e FPR para cada
modelo Mi
Exemplo
Classe
+
-
+
0.25
0.43
0.53
0.76
-
-
+
-
+
+
0.85
0.85
0.85
0.87
0.93 0.95
TP
5
4
4
3
3
3
3
2
2
1
0
FP
5
5
4
4
3
2
1
1
0
0
0
TN
0
0
1
1
2
3
4
4
5
5
5
FN
0
1
1
2
2
2
2
3
3
4
5
TPR
1
0.8
0.8
0.6
0.6
0.6
0.6
0.4
0.4
0.2
0
FPR
1
1
0.8
0.8
0.6
0.4
0.2
0.2
0
0
0
1.00
Exemplo
1.0
TPR
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
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.
Exemplo
1.0
TPR
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
Comparando performance relativas de
diferentes classificadores

Curvas Roc são utilizadas para se medir a
performance relativa de diferentes
M1
classificadores.
M2
Até aqui M2 é melhor do que M1
A partir daí, M1 fica melhor do que M2
x
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
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/

Download

Como comparar classificadores ?