Estoy probando una configuración de clasificación multiclase con 3 clases. La distribución de clases está sesgada con la mayoría de los datos que caen en 1 de las 3 clases. (las etiquetas de clase son 1,2,3, con un 67,28% de los datos en la etiqueta de clase 1, 11,99% de datos en la clase 2 y restantes en la clase 3)
Estoy entrenando a un clasificador multiclase en este conjunto de datos y obtengo el siguiente rendimiento:
Precision Recall F1-Score
Micro Average 0.731 0.731 0.731
Macro Average 0.679 0.529 0.565
No estoy seguro de por qué todo Micro avg. los rendimientos son iguales y también por qué los rendimientos promedio macro son tan bajos.
multiclass-classification
evaluation
SHASHANK GUPTA
fuente
fuente
Respuestas:
Los micro y macro promedios (para cualquier métrica) calcularán cosas ligeramente diferentes y, por lo tanto, su interpretación difiere. Un macro-promedio calculará la métrica independientemente para cada clase y luego tomará el promedio (por lo tanto, tratará a todas las clases por igual), mientras que un micro-promedio agregará las contribuciones de todas las clases para calcular la métrica promedio. En una configuración de clasificación de varias clases, es preferible el micro-promedio si sospecha que puede haber un desequilibrio de clase (es decir, puede tener muchos más ejemplos de una clase que de otras clases).
Para ilustrar por qué, tome por ejemplo la precisión . Imaginemos que tiene un sistema de clasificación de múltiples clases One-vs-All (solo hay una salida de clase correcta por ejemplo) con cuatro clases y los siguientes números cuando se prueba:PAGSr = TPAGS( TPAGS+ FPAGS)
Puede ver fácilmente que , mientras que P r B = 0.1 .PAGSrUNA= PrC= Prre= 0.5 PAGSrsi= 0.1
Estos son valores bastante diferentes para la precisión. Intuitivamente, en el macro-promedio, la precisión "buena" (0.5) de las clases A, C y D está contribuyendo a mantener una precisión general "decente" (0.4). Si bien esto es técnicamente cierto (en todas las clases, la precisión promedio es 0.4), es un poco engañoso, ya que una gran cantidad de ejemplos no se clasifican adecuadamente. Estos ejemplos corresponden principalmente a la clase B, por lo que solo contribuyen 1/4 hacia el promedio a pesar de constituir el 94.3% de los datos de su prueba. El micro promedio capturará adecuadamente este desequilibrio de clase y reducirá el promedio general de precisión a 0.123 (más en línea con la precisión de la clase dominante B (0.1)).
Por razones computacionales, a veces puede ser más conveniente calcular promedios de clase y luego hacer un promedio macro. Si se sabe que el desequilibrio de clase es un problema, hay varias formas de evitarlo. Una es informar no solo el macro-promedio, sino también su desviación estándar (para 3 o más clases). Otra es calcular un macro-promedio ponderado, en el que cada contribución de clase al promedio se pondera por el número relativo de ejemplos disponibles para él. En el escenario anterior, obtenemos:
La gran desviación estándar (0.173) ya nos dice que el promedio 0.4 no se deriva de una precisión uniforme entre las clases, pero podría ser más fácil calcular el macro promedio ponderado, que en esencia es otra forma de calcular el micro promedio .
fuente
Publicación original: http://rushdishams.blogspot.in/2011/08/micro-and-macro-average-of-precision.html
En el método Micro-average, usted resume los verdaderos positivos, falsos positivos y falsos negativos individuales del sistema para diferentes conjuntos y los aplica para obtener las estadísticas.
Difícil, pero esto me pareció muy interesante. Hay dos métodos por los cuales puede obtener una estadística promedio de recuperación y clasificación de información.
1. Método de micro-promedio
En el método Micro-average, usted resume los verdaderos positivos, falsos positivos y falsos negativos individuales del sistema para diferentes conjuntos y los aplica para obtener las estadísticas. Por ejemplo, para un conjunto de datos, el sistema
y para un conjunto diferente de datos, el sistema
Entonces la precisión (P2) y la recuperación (R2) serán 68.49 y 84.75
Ahora, la precisión promedio y la recuperación del sistema usando el método Micro-average es
El puntaje F micro-promedio será simplemente la media armónica de estas dos figuras.
2. Método macro promedio
El método es sencillo. Simplemente tome el promedio de la precisión y recuperación del sistema en diferentes conjuntos. Por ejemplo, la precisión y recuperación del promedio macro del sistema para el ejemplo dado es
El puntaje F promedio macro será simplemente la media armónica de estas dos figuras.
Idoneidad El método de promedio macro se puede usar cuando desea saber cómo funciona el sistema en general en los conjuntos de datos. No debe llegar a ninguna decisión específica con este promedio.
Por otro lado, el micro promedio puede ser una medida útil cuando el conjunto de datos varía en tamaño.
fuente
En un entorno de múltiples clases, la precisión y recuperación micro-promedio son siempre las mismas.
Por lo tanto, P = R. En otras palabras, cada predicción falsa será un falso positivo para una clase, y cada negativo será un falso negativo para una clase. Si trata un caso de clasificación binaria como una clasificación bi-clase y calcula la precisión micro-promediada y recuerda que serán las mismas.
La respuesta dada por Rahul es en el caso de promediar la precisión binaria y la recuperación de múltiples conjuntos de datos. En cuyo caso, la precisión y recuperación micro-promedio son diferentes.
fuente
Así es como debería ser. Tuve el mismo resultado para mi investigación. Parecía extraño al principio. Pero la precisión y la recuperación deberían ser las mismas mientras se hace un promedio del resultado del clasificador de etiqueta única multiclase. Esto se debe a que si considera una clasificación errónea c1 = c2 (donde c1 y c2 son 2 clases diferentes), la clasificación errónea es un falso positivo (fp) con respecto a c2 y falso negativo (fn) con respecto a c1. Si sumas fn y fp para todas las clases, obtienes el mismo número porque estás contando cada clasificación errónea como fp con respecto a una clase y fn con respecto a otra clase.
fuente
Creo que la razón por la cual el promedio macro es menor que el promedio micro está bien explicada por la respuesta de Pythiest (la clase dominante tiene mejores predicciones y, por lo tanto, el aumento promedio micro).
Pero el hecho de que el promedio micro sea igual para la puntuación de precisión, recuperación y F1 se debe a que el promedio micro de estas métricas da como resultado una precisión general (ya que el promedio micro considera todas las clases como positivas). Tenga en cuenta que si la precisión y la recuperación son iguales, la puntuación F1 es igual a la precisión / recuperación.
¿En cuanto a la pregunta de si el "promedio macro ponderado" siempre va a ser igual al "promedio micro"? Hice algunos experimentos con diferentes no. de clases y diferentes desequilibrios de clase y resulta que esto no es necesariamente cierto.
Estas declaraciones se hacen asumiendo que estamos considerando todas las clases del mismo conjunto de datos (en contraste con la respuesta de Rahul Reddy Vemireddy)
fuente
La ventaja de usar el Macro F1 Score es que otorga el mismo peso a todos los puntos de datos, por ejemplo: pensemos en ello como el F1 micro toma la suma de todas las llamadas y la recuperación de diferentes etiquetas de forma independiente, por lo que cuando tenemos un desequilibrio de clase como T1 = 90%, T2 = 80%, T3 = 5, entonces F1 Micro otorga el mismo peso a toda la clase y no se ve afectado por las desviaciones en la distribución del registro de la clase, la pérdida de registro penaliza pequeñas desviaciones en la clase
fuente