40 votos

Recall y precisión en la clasificación

He leído algunas definiciones de recuerdo y precisión, aunque cada vez es en el contexto de la recuperación de información. Me preguntaba si alguien podría explicar esto un poco más en un contexto de clasificación y tal vez ilustrar algunos ejemplos. Digamos, por ejemplo, que tengo un clasificador binario que me da una precisión del 60% y un recuerdo del 95%, ¿es este un buen clasificador?

Tal vez para ayudar un poco más a mi objetivo, ¿cuál es el mejor clasificador según usted? (el conjunto de datos está desequilibrado. La clase mayoritaria tiene el doble de ejemplos que la minoritaria)

Personalmente diría que 5 por el área bajo la curva del operador receptor.

(como se puede ver aquí, el modelo 8 tiene una precisión baja, un recall muy alto, pero uno de los AUC_ROC más bajos, ¿eso lo convierte en un buen modelo? o en uno malo)

enter image description here


editar:

Tengo un archivo excel con más información: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

En este documento se puede encontrar el área bajo la curva del operador receptor y el área bajo la curva de recuerdo de precisión. Junto con los gráficos.

43voto

Jared Farrish Puntos 120

Que un clasificador sea "bueno" depende realmente de

  1. Qué más hay disponible para su problema particular. Evidentemente, se quiere que un clasificador sea mejor que las conjeturas aleatorias o ingenuas (por ejemplo, clasificar todo como perteneciente a la categoría más común), pero algunas cosas son más fáciles de clasificar que otras.
  2. El coste de los distintos errores (falsas alarmas frente a falsos negativos) y la tasa base. Es muy importante distinguir los dos y calcular las consecuencias, ya que es posible tener un clasificador con una precisión muy alta (clasificaciones correctas en alguna muestra de prueba) que sea completamente inútil en la práctica (digamos que está tratando de detectar una enfermedad rara o algún comportamiento travieso poco común y planea lanzar alguna acción tras la detección; las pruebas a gran escala cuestan algo y la acción/tratamiento correctivo también suelen implicar riesgos/costes significativos, así que considerando que la mayoría de los aciertos van a ser falsos positivos, desde una perspectiva de coste/beneficio podría ser mejor no hacer nada).

Para entender la relación entre recuerdo/precisión, por un lado, y sensibilidad/especificidad, por otro, es útil volver a una matriz de confusión:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

La recuperación es TP/(TP + FN) mientras que la precisión es TP/(TP+FP). Esto refleja la naturaleza del problema: en la recuperación de información, lo que se quiere es identificar el mayor número de documentos relevantes (eso es la recuperación) y evitar tener que clasificar la basura (eso es la precisión).

Utilizando la misma tabla, las métricas de clasificación tradicionales son (1) la sensibilidad definida como TP/(TP + FN) y (2) la especificidad definida como TN/(FP + TN). Por lo tanto, la recuperación y la sensibilidad son simplemente sinónimos, pero la precisión y la especificidad se definen de forma diferente (al igual que la recuperación y la sensibilidad, la especificidad se define con respecto al total de columnas, mientras que la precisión se refiere al total de filas). La precisión también se denomina a veces "valor predictivo positivo" o, en raras ocasiones, "tasa de falsos positivos" (pero véase mi respuesta a Relación entre verdadero positivo, falso positivo, falso negativo y verdadero negativo sobre la confusión que rodea a esta definición de la tasa de falsos positivos).

Curiosamente, las métricas de recuperación de información no incluyen el recuento de "verdaderos negativos". Esto tiene sentido: en la recuperación de información, no te importa clasificar correctamente los casos negativos por sí mismo Simplemente, no quiere que demasiados de ellos contaminen sus resultados (véase también ¿Por qué la memoria no tiene en cuenta los verdaderos negativos? ).

Debido a esta diferencia, no es posible pasar de la especificidad a la precisión o a la inversa sin información adicional, a saber, el número de verdaderos negativos o, alternativamente, la proporción global de casos positivos y negativos. Sin embargo, para el mismo corpus/conjunto de pruebas, una mayor especificidad siempre significa una mayor precisión, por lo que están estrechamente relacionadas.

En un contexto de recuperación de información, el objetivo suele ser identificar un pequeño número de coincidencias entre un gran número de documentos. Debido a esta asimetría, es mucho más difícil conseguir una buena precisión que una buena especificidad manteniendo constante la sensibilidad/recuperación. Dado que la mayoría de los documentos son irrelevantes, hay muchas más ocasiones para las falsas alarmas que para los verdaderos positivos, y estas falsas alarmas pueden inundar los resultados correctos, incluso si el clasificador tiene una precisión impresionante en un conjunto de pruebas equilibrado (esto es, de hecho, lo que ocurre en los escenarios que mencioné en mi punto 2 anterior). Por lo tanto, es necesario optimizar la precisión y no sólo garantizar una especificidad decente, ya que incluso tasas tan impresionantes como el 99% o más a veces no son suficientes para evitar numerosas falsas alarmas.

Suele haber un equilibrio entre la sensibilidad y la especificidad (o el recuerdo y la precisión). Intuitivamente, si lanza una red más amplia, detectará más documentos relevantes/casos positivos (mayor sensibilidad/recuperación), pero también obtendrá más falsas alarmas (menor especificidad y menor precisión). Si clasificas todo en la categoría positiva, tienes un 100% de recuerdo/sensibilidad, una mala precisión y un clasificador mayoritariamente inútil ("mayoritariamente" porque si no tienes ninguna otra información, es perfectamente razonable suponer que no va a llover en un desierto y actuar en consecuencia, por lo que puede que la salida no sea inútil después de todo; por supuesto, no necesitas un modelo sofisticado para ello).

Teniendo en cuenta todo esto, un 60% de precisión y un 95% de recuperación no suenan demasiado mal pero, de nuevo, esto depende realmente del dominio y de lo que se pretenda hacer con este clasificador.


Algunas informaciones adicionales sobre los últimos comentarios/ediciones:

Una vez más, el rendimiento que se puede esperar depende de los detalles (en este contexto, se trataría de cosas como el conjunto exacto de emociones presentes en el conjunto de entrenamiento, la calidad de la imagen/vídeo, la luminosidad, la oclusión, los movimientos de la cabeza, los vídeos actuados o espontáneos, el modelo dependiente o independiente de la persona, etc.), pero un F1 superior a 0,7 parece bueno para este tipo de aplicaciones, incluso si los mejores modelos pueden hacerlo mejor en algunos conjuntos de datos [véase Valstar, M.F., Mehu, M., Jiang, B., Pantic, M., & Scherer, K. (2012). Meta-análisis del primer desafío de reconocimiento de la expresión facial. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, 42 (4), 966-979.]

Que este modelo sea útil en la práctica es una cuestión completamente diferente y, obviamente, depende de la aplicación. Hay que tener en cuenta que la "expresión" facial es en sí misma un tema complejo y pasar de un conjunto de entrenamiento típico (expresiones posadas) a cualquier situación de la vida real no es fácil. Esto se sale bastante del tema de este foro, pero tendrá graves consecuencias para cualquier aplicación práctica que se contemple.

Por último, la comparación entre modelos es otra cuestión. Mi opinión sobre las cifras que has presentado es que no hay ninguna diferencia dramática entre los modelos (si te refieres al documento que he citado anteriormente, el rango de puntuaciones F1 para los modelos conocidos en este ámbito es mucho más amplio). En la práctica, los aspectos técnicos (simplicidad/disponibilidad de bibliotecas estándar, velocidad de las diferentes técnicas, etc.) probablemente decidirían qué modelo se implementa, excepto quizás si el coste/beneficio y la tasa global te hacen favorecer fuertemente la precisión o el recuerdo.

21voto

Jonathan Allen Puntos 23540

En el contexto de la clasificación binaria, los ejemplos son positivos o negativos.

  • La retirada aborda la cuestión: "Dado un ejemplo positivo, ¿lo detectará el clasificador?"
  • La precisión aborda la cuestión: "Dada una predicción positiva del clasificador, ¿qué probabilidad hay de que sea correcta?"

Por lo tanto, depende de si la atención se centra en los ejemplos positivos o en las predicciones positivas.

Se podría decir "con un recall de al menos el 90%, el clasificador con mayor precisión es el 4". Pero si lo que importa es la calidad de las predicciones, entre los clasificadores con una precisión de al menos el 70%, el que consigue mayor recall es el 6.

8voto

dan90266 Puntos 609

Pasar de predicciones continuas, como las utilizadas en el cálculo del área ROC (probabilidad de concordancia; índice c) a una regla de puntuación discontinua impropia (exactitud de clasificación de elección forzada) da lugar a todo tipo de anomalías y llevará al analista a elegir los predictores y/o el modelo equivocados. Es mucho mejor tomar decisiones sobre la base de reglas de puntuación adecuadas (por ejemplo, regla de puntuación de probabilidad logarítmica/desviación/logarítmica; puntuación de Brier (puntuación de precisión de probabilidad cuadrática)). Una de las muchas ventajas de este enfoque es la identificación de las observaciones cuya clasificación es peligrosa para la salud debido a la incertidumbre causada por las probabilidades de rango medio.

6voto

amorfis Puntos 468

Tampoco precisión ni Retirada del mercado cuentan la historia completa, y es difícil comparar un predictor con, digamos, un 90% de recuperación y un 60% de precisión con un predictor con, digamos, un 85% de precisión y un 65% de recuperación - a menos que, por supuesto, se tenga un coste/beneficio asociado con cada una de las 4 celdas (tp/fp/tn/fn) en el matriz de confusión .

Una forma interesante de conseguir un solo número ( competencia , alias coeficiente de incertidumbre ) que describe el rendimiento del clasificador es utilizar teoría de la información :

proficiency = I(predicted,actual) / H(actual)

es decir, indica qué fracción de la información presente en los datos reales fue recuperada por el clasificador. Es 0 si la precisión o la recuperación son 0 y es 100% si (y sólo si) tanto la precisión como la recuperación son 100%. Es similar a Puntuación de la F1 pero la competencia tiene un claro significado teórico de la información, mientras que F1 es sólo una media armónica de dos números con un significado.

Puede encontrar el documento, la presentación y el código (Python) para calcular la métrica de competencia aquí: https://github.com/Magnetic/proficiency-metric

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X