Me pregunto cómo calcular la precisión y la recuperación utilizando una matriz de confusión para un problema de clasificación de varias clases. Específicamente, una observación solo se puede asignar a su clase / etiqueta más probable. Me gustaría calcular:
- Precisión = TP / (TP + FP)
- Recuperación = TP / (TP + FN)
para cada clase, y luego calcule la medida F micro-promedio.

Respuestas:
En un caso de 2 hipótesis, la matriz de confusión suele ser:
donde he usado algo similar a tu notación:
A partir de los datos sin procesar, los valores de la tabla normalmente serían los recuentos de cada aparición sobre los datos de prueba. A partir de esto, debería poder calcular las cantidades que necesita.
Editar
La generalización de los problemas de varias clases es sumar sobre filas / columnas de la matriz de confusión. Dado que la matriz está orientada como anteriormente, es decir, que una fila dada de la matriz corresponde a un valor específico para la "verdad", tenemos:
Es decir, la precisión es la fracción de eventos en los que correctamente declaramos de todos los casos en los que el algoritmo declarada . Por el contrario, recordar es la fracción de eventos en los que declaramos correctamente de todos los casos en los que el verdadero estado del mundo es .i i i i
fuente
ino está definida si no hay instancias donde el algoritmo declarei. La recuperación de la claseino está definida si el conjunto de prueba no incluye la clasei.Buen documento de resumen, mirando estas métricas para problemas de varias clases:
El resumen lee:
fuente
Usando sklearn y numpy:
Para obtener medidas generales de precisión y recuperación, use
fuente