Evaluación de modelos
Actual
Having
Disease
Not
Having Disease
Having
Disease
Predicted
12
8
Not
Having Disease
3
77
Aitor Almeida
aitor.almeida@deusto.esOverview
- En esta unidad vamos a ver como evaluar correctamente nuestros
modelos
- Vamos a estudiar las diferentes métricas que podemos usar para
hacer una evaluación con una buena metodología.
- Vamos a considerar casos en los que el dataset tiene una distribución
balanceada de clases y casos en los que no.
2
Conceptos básicos
Antes de que empecemos a definir las métricas, vamos a definir
algunos conceptos base:
- Ejemplos positivos (ejemplos que pertenecen a la clase de interés) y ejemplos
negativos (el resto).
- True positives (TP): los ejemplos positivos que han sido etiquetados
correctamente por el clasificador.
- True negatives (TN): los ejemplos negativos que han sido etiquetados
correctamente por el clasificador.
- False positives (FP): Los ejemplos negativos que han sido incorrectamente
etiquetados como positivos.
- False negatives (FN): Los ejemplo positivos que han sido incorrectamente
etiquetados como negativos.
3
Matriz de confusión
Esto se puede resumir en una matriz de confusión:
Predicted class
yes
no
Actual class
yes
TP
FN
no
FP
TN
Total
P
N'
Confusion matrix, without normalization
12
setosa
13
0
0
10
8
True label
versicolor -
0
10
6
- 6
- 4
virginica -
0
0
9
- 2
0
setosa
versicolor
Predicted label
virginica
4
Total
P
N
P+N
Análisis de la matriz de confusión
- La matriz de confusión es una herramienta útil para analizar que tal
esta reconociendo nuestro clasificador diferentes clases.
- Los TP y TN nos dicen cuando esta acertando.
- Los FP y FN cuando se equivoca.
- Nuestro clasificador puede que tenga problemas con una clase en
especifico, lo que empeora la medida global de accuracy.
- La matriz de confusión nos ayuda a identificar en que partes de nuestro
clasificador deberíamos trabajar para mejorar los resultados.
5
Matriz de confusión en problemas multiclase
- Teniendo m clases (cuando m >= 2), una matriz de confusión es una
table de al menos m x m.
- Una entrada, CM, en las primeras m filas y m columnas indica en
número de ejemplo de la clase i que fueron etiquetadas como
pertenecientes a la clase j.
- Para que un clasificador tenga una buena accuracy, idealmente la
mayoría de ejemplos deberían estar en la diagonal de la matriz, con el
resto de celdas siendo 0 o cercanas a 0.
- Esto es, siendo FP y FN 0.
6
Columnas y filas de la matriz de confusión
- La tabla puede tener más columnas y filas, para darnos los totales.
- En uno de los ejemplos anteriores, se muestran P y N:
- P' es el número de ejemplo que se han etiquetado como positivos (TP + FP)
- N' es el número de ejemplos que se han etiquetado como negativos (TN + FN)
- El total de ejemplos es TP + TN + FP + FN, o P + N, o P' + N'.
7
Accuracy
- La accuracy (a veces también llamada recognition rate) de un
clasificador es el porcentaje de ejemplo que se han clasificado
correctamente.
TP + TN
Accuracy =
TP + TN + FP + FN
- Acordaros de lo que ya hemos hablado de la accuracy > Class
imbalance problem
8
Error rate
- El error rate o misclassification rate de un clasificador es simplemente 1-
accuracy. También se puede calculary de la siguiente manera:
Error rate =
FP + FN
P+N
- Si usamos el training set en vez del test set para estimar el error rate, se le
conoce como resubstitution error.
- Este error siempre es optimista respecto al verdadero error rate (igual que
la accuracy en training es optimista), porque no evaluamos la
generalización.
9
Sensitivity y specificity
- Son métricas muy útiles cuando tenemos clases desbalanceadas.
- A la sensitivity se le llama también true positive rate (es decir, la
proporción de ejemplos positivos clasificados correctamente).
- A la specificity se le llama también true negative rate (es decir, la
proporción de ejemplos negativos clasificados correctamente).
TP
Sensitivy =
P
TN
Specificity =
N
10
G-Mean
- La sensitivity y specificity se pueden combinar en una única métrica
que balancea ambas, la geometric mean or G-Mran
- Esta medida trata de maximizar el accuracy en cada una de las clases
mientras las mantiene balanceadas.
- Es usada en problemas con clases desbalanceadas.
GMean = V
sensitivity + specificity
11
Precisión
- La precisión puede ser tomada como una medida de la exactitud del
modelo, es decir, el porcentaje de ejemplos etiquetados como
positivos que lo son.
TP
Precision =
TP + FP
12
Recall
- El recall es una medida de la completitud (el porcentaje de los
ejemplos positivos que han sido clasificados como tal).
TP
Recall
=
TP + FN
13
Precisión y Recall
- Una precisión perfecta de 1.0 para una clase C significa que todos los
ejemplos que el clasificador a anotado como pertenecientes a C
perteneces a la clase C
- No nos dice nada sobre cuantos ejemplos de la clase C a anotado
incorrectamente.
- Una recall perfecta de 1.0 para la clase C significa que todos los items
de la clase C han sido etiquetados como tal.
- No nos dice cuantos ejemplos de otras clases han sido clasificados como C.
- Suele haber una relación inversa entre ambas medidas, reduciendo
una cuando mejoramos la otra.
14
F measure
- Una alternativa a usar la precisión y la recall es combinar ambas
medidas en una. Esto es conocido como la F measure (también
llamada F score o F-score). Otra opción el la Fe measure.
2 x precision x recall
F measure =
precision + recall
(1 + ß2) x precision x recall
FB =
₿2 x precision + recall
15
F measure: media armónica y ponderada
- La F measure es la media armónica de la precisión y recall. Da el
mismo peso a ambas.
- La Fe es una media ponderada, le da ß más peso a la recall que a la
precisión. Valores típicos son 2 y 0.5.
- Hay que tener en cuenta cuando usamos la F measure que esta
dándole la misma importancia a las dos medidas:
- Por ejemplo, no es lo mismo clasificar a una persona sana como enferma, que
clasificar a una persona enferma como sana.
16
Problemas con más de 2 clases
- ¿ Qué es un ejemplo positivo in negativo en un problema multiclase?
Acordaros de la definición del principio: Los ejemplos positivos son los
de la clase de interés, y los negativos el resto
- Eso solo sirve para problema binarios.
17
Problemas multiclase
- En los problemas multiclase calculamos la métrica por cada clase y
hacemos una media de los resultados.
- Pero esto tiene truco, como calculamos la media es muy importante.
- La precisión, recall y F1 pueden tener una media macro, micro o
ponderada.
- micro calcula la media considerando los totales de true positives, true
negatives, false negatives y false positives.
- macro calcula la métrica para cada clase y devuelve la media sin tener en
cuenta la proporción de ejemplos de cada clase.
- weighted tiene en cuenta la proporción de ejemplos de cada clase.
18
Macro vs Micro Averaging
- Macro-averaging calcula la métrica de cada clase y después hace una
media aritmética entre todas las clases. Esto es, le da el mismo peso a
todas las clases.
- Micro-averaging, por otro lado, agrega todos los TP, FP y FN de todas
las clases y calcula la métrica con ellos. Esto es, le da el mismo peso a
cada ejemplo, sin importar a que clase pertenece.
- Si no hay una clase que sea especialmente importante, usad siempre
el macro.
19
Macro averaging: pros y contras
- Macro-averaging le da la misma importancia a todas las clases.
- Es útil cuando todas las clases tienen la misma relevancia.
- Es útil también cuando tenemos un dataset desbalanceado.
- Sin embargo, puede distorsionar nuestra percepción del rendimiento
del modelo.
- Por ejemplo, puede hacer que parezca que funciona peor por algunas clases
con pocos ejemplos.
- O al contrario, precisamente las clases con pocos ejemplos pueden ser las
importantes y no verse reflejado.
20
Micro averaging: pros y contras
- Micro-averaging puede ser más apropiado cuando nos interesan el
número total de errores en la clasificación.
- Les da el mismo peso a todos los ejemplos.
- Sin embargo, puede exagerar el rendimiento en la clase mayoritaria,
sobre todo si domina el dataset.
- En este caso, el micro-averaging puede resultar en métricas infladas cuando el
clasificador funciona sobre todo en la clase mayoritaria.
21
Variaciones de las métricas
- Hay tareas en la que una respuesta se considera un TP si la respuesta
correcta se hace en X intentos -> Accuracy at 2, accuracy at 5 ...
22
Fórmulas de evaluación
Measure
Formula
accuracy, recognition rate
TP+ TN
P+N
error rate, misclassification rate
FP+ FN
P+N
sensitivity, true positive rate,
recall
TP
P
specificity, true negative rate
TN
N
precision
TP
TP+ FP
F, F1, F-score,
harmonic mean of precision and recall
2 x precision x recall
precision + recall
FB, where ß is a non-negative real number
(1+B2) x precision x recall
₿2 x precision+ recall
23
Curva ROC
- Los TP, TN, FP y FNs son también útiles para evaluar los costes y beneficios
de un modelo de clasificación.
- Los costes asociados a un FN suelen ser mas altos que los asociados a un FP
- ¿ Me podéis dar un ejemplo?
- En tales casos, podemos dar más peso a un tipo de error sobre otro
asignando un coste diferente a cada uno. Estos costes pueden considerar el
peligro para el paciente, los costes financieros de las terapias resultantes y
otros costes hospitalarios.
- De manera similar, los beneficios asociados con una decisión de verdadero
positivo pueden ser diferentes de los de un verdadero negativo. Hasta
ahora, para calcular la precisión del clasificador, hemos asumido costes
iguales y básicamente hemos dividido la suma de verdaderos positivos y
verdaderos negativos por el número total de tuplas de prueba.
24
Curva ROC: análisis de coste-beneficio
- Alternativamente, podemos incorporar los costes y beneficios calculando
en su lugar el coste (o beneficio) promedio por decisión.
- Otras aplicaciones que involucran análisis de coste-beneficio incluyen
decisiones sobre solicitudes de préstamos y envíos de marketing dirigido.
- Por ejemplo, el coste de otorgar un préstamo a un moroso excede con creces el de la
pérdida de negocio incurrida por negar un préstamo a un cliente no moroso.
- De manera similar, en una aplicación que intenta identificar los hogares que
probablemente respondan a envíos de cierto material promocional, el coste de
enviar a numerosos hogares que no responden puede superar el coste de la pérdida
de negocio por no enviar a los hogares que habrían respondido.
- Otros costes a considerar en el análisis general incluyen los costes de
recopilar los datos y desarrollar la herramienta de clasificación.
25