Aquí es una discusión de un hilo del foro de coursera sobre la matriz de confusión y la medición de precisión/recuperación multiclase.
La idea básica es calcular la precisión y el recuerdo de todas las clases y, a continuación, promediarlas para obtener una única medida numérica real.
La matriz de confusión facilita el cálculo de la precisión y el recuerdo de una clase.
A continuación se explica algo básico sobre la matriz de confusión, copiado de ese hilo:
Una matriz de confusión es una forma de clasificar los verdaderos positivos, los verdaderos negativos, los falsos positivos y los falsos negativos, cuando hay más de 2 clases. Se utiliza para calcular la precisión y la recuperación y, por lo tanto, la puntuación f1 para los problemas de varias clases.
Los valores reales están representados por columnas. Los valores predichos están representados por filas.
Ejemplos:
10 ejemplos de entrenamiento que en realidad son 8, se clasifican (predicen) incorrectamente como 5
13 ejemplos de entrenamiento que en realidad son 4, se clasifican incorrectamente como 9
Matriz de confusión
cm =
0 1 2 3 4 5 6 7 8 9 10
1 298 2 1 0 1 1 3 1 1 0
2 0 293 7 4 1 0 5 2 0 0
3 1 3 263 0 8 0 0 3 0 2
4 1 5 0 261 4 0 3 2 0 1
5 0 0 10 0 254 3 0 10 2 1
6 0 4 1 1 4 300 0 1 0 0
7 1 3 2 0 0 0 264 0 7 1
8 3 5 3 1 7 1 0 289 1 0
9 0 1 3 13 1 0 11 1 289 0
10 0 6 0 1 6 1 2 1 4 304
Para la clase x:
-
Verdadero positivo: posición de la diagonal, cm(x, x).
-
Falso positivo: suma de la columna x (sin diagonal principal), suma(cm(:, x))-cm(x, x).
-
Falso negativo: suma de la fila x (sin diagonal principal), suma(cm(x, :), 2)-cm(x, x).
Puede calcular la precisión, la recuperación y la puntuación F1 siguiendo la fórmula del curso.
El promedio de todas las clases (con o sin ponderación) da valores para todo el modelo.
1 votos
la parte de la multietiqueta lo hace mucho más difícil y yo también estoy interesado en esto. Creo que no es aplicable a los problemas de multietiqueta, pero no te fíes de mí en absoluto.
1 votos
De hecho, todos los problemas multietiqueta son multiclase, por lo que se puede utilizar el paquete utiml en R, por ejemplo, o Mulan en Java.