56 votos

¿Cómo elegir entre el ROC AUC y la puntuación F1?

Recientemente completé un concurso de Kaggle en el que se utilizó la puntuación de roc auc según los requisitos del concurso. Antes de este proyecto, normalmente utilizaba la puntuación f1 como métrica para medir el rendimiento del modelo. De cara al futuro, me pregunto cómo debo elegir entre estas dos métricas. ¿Cuándo utilizar cada una de ellas y cuáles son sus respectivos pros y contras?

Por cierto, he leído el artículo aquí ¿Cuáles son las diferencias entre el AUC y la puntuación F1? pero no me dice cuándo usar cuál.

¡Gracias de antemano por cualquier ayuda!

25voto

dan90266 Puntos 609

Ninguna de las medidas enumeradas aquí son reglas de puntuación de precisión adecuadas, es decir, reglas optimizadas por un modelo correcto. Considere la puntuación de Brier y las medidas basadas en la probabilidad logarítmica, como el pseudo $R^2$ . El $c$ -(AUROC; probabilidad de concordancia) no es adecuado pero es bueno para describir un único modelo. No es lo suficientemente sensible como para utilizarlo en la elección de modelos o en la comparación de tan sólo dos modelos.

2 votos

Gracias por su respuesta, Frank. Necesito más aclaraciones, por favor. Si sólo podemos elegir entre ROC AUC y puntuación F1, ¿cuál elegiría y por qué? ¿Cuáles son los pros y los contras de ambos?

5 votos

Si sólo puede elegir entre $c$ -index y F1 no estás argumentando con suficiente fuerza. El patrón oro es la log-verosimilitud, la log-verosimilitud penalizada o su equivalente bayesiano (por ejemplo, DIC). A continuación está la puntuación de Brier.

3 votos

Véase citeulike.org/user/harrelfe/article/14321176 ; lo he demostrado con mis propias simulaciones. Si el desequilibrio no se debe a un sobremuestreo o submuestreo, puede utilizar cualquier regla de puntuación adecuada, independientemente del desequilibrio.

23voto

user68902 Puntos 1

Fórmula de cálculo:

  • Precisión TP/(TP+FP)
  • Recall: TP/(TP+FN)
  • Puntuación F1: 2/(1/P+1/R)
  • ROC/AUC: TPR=TP/(TP+FN), FPR=FP/(FP+TN)

ROC / AUC es el mismo criterio y la curva PR (Precision-Recall) (F1-score, Precision, Recall) también es el mismo criterio.

Los datos reales tenderán a tener un desequilibrio entre las muestras positivas y negativas. Este desequilibrio tiene un gran efecto en el PR pero no en el ROC/AUC.

Por lo tanto, en el mundo real se utiliza más la curva PR, ya que las muestras positivas y negativas son muy desiguales. La curva ROC/AUC no refleja el rendimiento del clasificador, pero la curva PR sí.

Si sólo se hace el experimento en los trabajos de investigación, se puede utilizar el ROC, los resultados experimentales serán más hermosos. Por otro lado, el uso de la curva PR en el problema real, y tiene mejor interpretabilidad.

9 votos

Creo que "Este desequilibrio tiene un gran efecto en el PR, pero no en el ROC/AUC" puede ser un poco engañoso o poco claro.

14voto

Leonardo Schultz Puntos 166

Las respuestas anteriores son buenas.

Pero lo que quiero señalar es que el AUC (Área bajo ROC) es problemático especialmente cuando los datos están desequilibrados (lo que se denomina altamente sesgados): $Skew=\frac{negative\;examples}{positive\;examples}$ es grande). Este tipo de situaciones es muy común en la detección de acciones, detección de fraudes, predicción de quiebras, etc. Es decir, los ejemplos positivos que le interesan tienen tasas de ocurrencia relativamente bajas.

Con datos desequilibrados, el AUC sigue dando un valor específico en torno a 0,8. Sin embargo, es alto debido al gran FP, más que al gran TP (Verdadero positivo).

Como el ejemplo siguiente,

TP=155,   FN=182
FP=84049, TN=34088

Así que cuando se utiliza el AUC para medir el rendimiento del clasificador, el problema es que el aumento del AUC no refleja realmente un mejor clasificador. Es sólo el efecto secundario de demasiados ejemplos negativos. Puedes simplemente probar en tu conjunto de datos desequilibrados, verás este problema.

El papel Frente a los datos desequilibrados Recomendaciones para el uso de las métricas de rendimiento encontraron que "aunque el ROC no se vio afectado por la inclinación, las curvas de precisión-recuerdo sugieren que el ROC puede enmascarar un mal rendimiento en algunos casos". La búsqueda de una buena métrica de rendimiento sigue siendo una cuestión abierta. Una puntuación F1 general puede ayudar $$ F_\beta = (1 + \beta^2) \cdot \frac{\mathrm{precision} \cdot \mathrm{recall}}{(\beta^2 \cdot \mathrm{precision}) + \mathrm{recall}}$$

donde el $\beta$ es la importancia relativa de la precisión en comparación con la recuperación.

Entonces, mis sugerencias para los datos desequilibrados son similares a este puesto . También puede probar la tabla de deciles, que puede construirse buscando "Tablas de clasificación y deciles de dos en dos". Mientras tanto, yo también estoy estudiando este problema y daré una mejor medida.

0 votos

Si le preocupa el rendimiento de un método, es mejor que utilice ROC para mostrar su rendimiento de clasificación, pero si le preocupa más la predicción real de verdaderos positivos, la puntuación F1 es bienvenida en la industria.

4 votos

En un entorno empresarial real, pueden calcularse los costes de los falsos positivos y los costes de los falsos negativos. Entonces, la clasificación final debería basarse en un modelo probabilístico y en un umbral de clasificación elegido para minimizar el coste de las falsas clasificaciones. No creo que la precisión o la puntuación F tengan muchas aplicaciones reales para el científico de datos disciplinado.

0 votos

Sí, estoy de acuerdo con el procedimiento del método de decisión que minimiza el coste de la clasificación falsa en función de la probabilidad de corte y el modelo. Y en algunos casos, el coste asimétrico puede aplicarse a FP y FN. Pero el objetivo de la precisión y la puntuación F es comprobar el rendimiento global de un modelo o comparar el rendimiento entre varios modelos. De hecho, con los datos en la mano como científico de datos, la minimización de costes podría ser siempre posible. Pero tengo curiosidad por saber si los científicos de datos necesitan en la práctica la distribución (o variación) de la solución del problema de decisión. Me gustaría saber si podría compartir algunos conmigo.

6voto

mat3 Puntos 529

Para decirlo en palabras muy sencillas, cuando se tiene un desequilibrio de datos, es decir, la diferencia entre el número de ejemplos que se tiene para las clases positivas y negativas es grande, siempre se debe utilizar la puntuación F1. De lo contrario, puede utilizar las curvas ROC/AUC.

1 votos

Tu definición de "desequilibrio de datos" es tal que casi siempre utilizarías la puntuación F1, así que esto no es de mucha ayuda. ¿Quizás podrías ampliarlo un poco?

0 votos

Se me había escapado una palabra muy importante... disculpas. He editado mi respuesta. Avíseme si necesita más aclaraciones.

5voto

Potatoswatter Puntos 243

A pesar del gráfico menos interpretable que integra el AUC, el número en sí le indica la probabilidad de que un positivo elegido al azar se clasifique más alto que un negativo elegido al azar. Se trata de un buen resumen del grado en que los ejemplos positivos se califican más que los negativos. Si los negativos se clasifican más alto que todos los positivos, su AUC es 0. Si los negativos se clasifican más bajo que todos los positivos, el AUC es 1. Si los negativos están en el medio o dispersos al azar, el AUC es alrededor de 0,5. Cada vez que el rendimiento de tu modelo se degrada hasta el punto de que una instancia positiva y otra negativa intercambian sus rangos cuando se ordenan por la puntuación del modelo, el AUC disminuye en un número constante igual a 1/(número de positivos x número de negativos).

Si tiene un ejemplo negativo y 99 positivos, y ese único ejemplo negativo está mejor clasificado que todos los ejemplos positivos, el AUC del ROC es 0, pero aún así puede conseguir un F1 alto. Con un umbral igual o inferior a la puntuación más baja del modelo (0,5 funcionará si su modelo puntúa todo por encima de 0,5), la precisión y la recuperación son del 99% y el 100% respectivamente, lo que deja su F1 en ~99,5%.

En este ejemplo, su modelo funcionó mucho peor que un generador de números aleatorios, ya que asignó su mayor confianza al único ejemplo negativo del conjunto de datos. Al mismo tiempo, puede tener mucho éxito si se preocupa por la precisión y la recuperación: el problema era tan fácil que incluso un generador de números aleatorios podía hacerlo.

Como regla general, he comprobado que el AUC es útil para comparar modelos mientras se experimenta, ya que le indicará si tiene un mal modelo a pesar de ser un problema fácil. La precisión, la recuperación, la F1 y todo lo que se basa en los umbrales son útiles una vez que se trata de averiguar si, y en qué medida, cumpliría los requisitos de producción.

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