¿Cómo elegir entre ROC AUC y puntaje F1?


26

Recientemente completé una competencia de Kaggle en la que se utilizó la puntuación roc auc según los requisitos de la competencia. Antes de este proyecto, normalmente usaba la puntuación f1 como la métrica para medir el rendimiento del modelo. En el futuro, me pregunto cómo debo elegir entre estas dos métricas. ¿Cuándo usar cuál y cuáles son sus respectivas ventajas y desventajas?

Por cierto, leí el artículo aquí ¿Cuáles son las diferencias entre AUC y F1-score? , pero no me dice cuándo usar cuál.

¡Gracias de antemano por cualquier ayuda!

Respuestas:


14

Ninguna de las medidas enumeradas aquí son reglas de puntuación de precisión adecuadas, es decir, reglas que están optimizadas por un modelo correcto. Considere la puntuación de Brier y las medidas basadas en la probabilidad logarítmica, como pseudo . El índice (AUROC; probabilidad de concordancia) no es apropiado pero es bueno para describir un solo modelo. No es lo suficientemente sensible como para usar para elegir modelos o comparar incluso tan solo dos modelos.R2c


Gracias por tu respuesta Frank! Necesito más aclaraciones por favor. Si solo pudiéramos elegir entre ROC AUC y F1, ¿cuál elegirías y por qué? ¿Cuáles son los pros y los contras de ambos?
George Liu

2
Si solo se le permite elegir entre index y F1, no está discutiendo lo suficiente. El estándar de oro es la probabilidad de registro, la probabilidad de registro penalizada o el equivalente bayesiano (p. Ej., DIC). Junto a eso está el puntaje Brier. c
Frank Harrell

2
Ver citeulike.org/user/harrelfe/article/14321176 ; Lo he demostrado con mis propias simulaciones. Si el desequilibrio no se debe a un sobremuestreo / submuestreo, puede usar cualquier regla de puntuación adecuada independientemente del desequilibrio.
Frank Harrell

1
@FrankHarrell: el enlace está muerto, ¿puedes volver a verificarlo?
SiXUlm

13

Fórmula de cálculo:

  • Precisión TP / (TP + FP)
  • Retirada: 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 PR pero no en ROC / AUC.

Entonces, en el mundo real, la curva PR se usa más 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 solo hace el experimento en trabajos de investigación, puede usar el ROC, los resultados experimentales serán más hermosos. Por otro lado, la curva PR se usa en el problema real, y tiene una mejor capacidad de interpretación.


7

Las respuestas anteriores son buenas.

Skew=negativeexamplespositiveexamples

Con datos desequilibrados, el AUC aún le da un valor engañoso de alrededor de 0.8. Sin embargo, es alta debido a la gran FP, en lugar de la gran TP (Verdadero positivo).

Tal como el ejemplo a continuación,

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

Entonces, cuando usa AUC para medir el rendimiento del clasificador, el problema es que el aumento de AUC realmente no refleja un mejor clasificador. Es solo el efecto secundario de demasiados ejemplos negativos. Simplemente puede probar en su conjunto de datos.

Fβ=(1+β2)precisionrecall(β2precision)+recall

β

Entonces, mis sugerencias para datos desequilibrados son similares a esta publicación . También puede probar la tabla de deciles, que se puede construir buscando "Tablas de clasificación y decil dos por dos". Mientras tanto, también estoy estudiando este problema y daré una mejor medida.


Si le importa el rendimiento de un método, será mejor que use ROC para mostrar su rendimiento de clasificación, pero si le importa más la predicción real de verdadero positivo, el puntaje F1 es bienvenido en la industria.
Xiaorui Zhu

2
En un entorno empresarial real, se pueden estimar los costos de falsos positivos y los costos de falsos negativos. Luego, la clasificación final debe basarse en un modelo probabilístico y un umbral de clasificación elegido para minimizar el costo de las clasificaciones falsas. Realmente no creo que la precisión, o la puntuación F tenga muchas aplicaciones reales para el científico de datos disciplinado.
Matthew Drury

Sí, estoy de acuerdo con el procedimiento del método de decisión que minimiza el costo de la clasificación falsa con probabilidad de corte y modelo. Y en algunos casos, el costo asimétrico se puede aplicar a FP y FN. Pero el punto de precisión y el puntaje F es verificar el rendimiento general de un modelo o comparar el rendimiento entre varios modelos. De hecho, con los datos disponibles como científicos de datos, la minimización de costos podría ser siempre posible. Pero tengo curiosidad acerca de si el científico de datos en la práctica necesita la distribución (o variación) de la solución del problema de decisión. Me gustaría saber si podrías compartir algo conmigo
Xiaorui Zhu

1
Personalmente, siempre evaluaría la bondad de ajuste de un modelo sobre la base de las probabilidades condicionales que predice. Por lo tanto, siempre compararía los modelos con una regla de puntuación adecuada, como la pérdida de registros, usaría bootstrapping para asegurarme de que la mejora no sea ruidosa, y tal vez complementar con AUC.
Matthew Drury

2
No creo que sea verdad. AUC está específicamente diseñado para ser insensible al desequilibrio de clase, he hecho simulaciones extensas sobre esto y descubrí que eso es cierto. Además, al comparar modelos, deben construirse sobre conjuntos de datos muestreados de la misma población, lo que hace que cualquier problema con el desequilibrio de clase sea nulo.
Matthew Drury

4

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


Su definición de "desequilibrio de datos" es tal que casi siempre usaría el puntaje F1, por lo que esto no es de mucha ayuda. ¿Quizás podrías ampliar esto un poco?
jbowman

Me había perdido una palabra muy importante allí ... disculpas. Edité mi respuesta. Avísame si necesitas más aclaraciones.
balboa

1

Para algunos problemas de clasificación de varias clases, analizar y visualizar ROC / AUC no es sencillo. Puede examinar esta pregunta, ¿Cómo trazar curvas ROC en clasificación multiclase? . Bajo tal situación, usar la puntuación F1 podría ser una mejor métrica.

Y la puntuación F1 es una opción común para el problema de recuperación de información y popular en entornos de la industria. Aquí hay un ejemplo bien explicado, Construir modelos ML es difícil. Implementarlos en entornos empresariales reales es más difícil .


1

Si el objetivo de la clasificación es la puntuación por probabilidad, es mejor usar AUC que promedia todos los umbrales posibles. Sin embargo, si el objetivo de la clasificación solo necesita clasificar entre dos clases posibles y no requiere la probabilidad de que el modelo prediga cada clase, es más apropiado confiar en el puntaje F usando un umbral particular.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.