ROC vs curvas de recuperación de precisión en un conjunto de datos desequilibrado

17

Acabo de terminar de leer esta discusión. Argumentan que PR AUC es mejor que ROC AUC en el conjunto de datos desequilibrados.

Por ejemplo, tenemos 10 muestras en el conjunto de datos de prueba. 9 muestras son positivas y 1 es negativa. Tenemos un modelo terrible que predice todo lo positivo. Por lo tanto, tendremos una métrica que TP = 9, FP = 1, TN = 0, FN = 0.

Entonces, Precisión = 0.9, Recuperación = 1.0. La precisión y el recuerdo son muy altos, pero tenemos un clasificador pobre.

Por otro lado, TPR = TP / (TP + FN) = 1.0, FPR = FP / (FP + TN) = 1.0. Debido a que el FPR es muy alto, podemos identificar que este no es un buen clasificador.

Claramente, ROC es mejor que PR en conjuntos de datos desequilibrados. ¿Alguien puede explicar por qué las relaciones públicas son mejores?

machineLearner
fuente
1
La precisión y el recuerdo ignoran los falsos negativos. La justificación habitual para usar el intercambio de PR (curvas o puntaje F) es que el número de negativos y falsos negativos es enorme en relación con TP y FP. Entonces TNR-> 1 y FPR-> 0 (suma a 1 con el mismo | Negs | denominador). Entonces, PR en este caso refleja (amplifica o amplía) la compensación TP vs FP, pero esto no es significativo y lo que es relevante es un aumento en el índice Youden J (Informaciones = TPR-FPR = TPR + TNR-1 = Sensibilidad + Especificidad-1) que corresponde al doble del área entre la curva triangular de un solo punto de operación y la línea de probabilidad ROC.
David MW Powers
2
@DavidMWPowers, ¿por qué no convertir eso en una respuesta oficial? Esa parece una respuesta muy informativa para mí.
gung - Restablece a Monica
2
La precisión, el recuerdo, la sensibilidad y la especificidad son puntajes incorrectos de precisión arbitraria discontinua que pierden información y no deben usarse. Pueden ser especialmente problemáticos bajo desequilibrio. El índice (probabilidad de concordancia; AUROC) funciona bien bajo un equilibrio extremo. Mejor: utilice una regla de puntuación de precisión adecuada relacionada con la probabilidad de registro o la puntuación de Brier. c
Frank Harrell

Respuestas:

8

Primero, la afirmación sobre la publicación de Kaggle es falsa. El documento al que hacen referencia, " La relación entre la recuperación de precisión y las curvas ROC ", nunca afirma que PR AUC sea mejor que ROC AUC. Simplemente comparan sus propiedades, sin juzgar su valor.

Las curvas ROC a veces pueden ser engañosas en algunas aplicaciones muy desequilibradas. Una curva ROC todavía puede verse bastante bien (es decir, mejor que aleatoria) mientras clasifica erróneamente la mayoría o la totalidad de la clase minoritaria.

En contraste, las curvas PR están diseñadas específicamente para la detección de eventos raros y son bastante útiles en esos escenarios. Mostrarán que su clasificador tiene un bajo rendimiento si está clasificando erróneamente la mayoría o la totalidad de la clase minoritaria. Pero no se traducen bien en casos más equilibrados o en casos en los que los negativos son raros.

Además, debido a que son sensibles a la probabilidad inicial de eventos positivos, no se generalizan bien y solo se aplican al conjunto de datos específico en el que se crearon, o a los datos con el mismo equilibrio. Esto significa que generalmente es difícil comparar las curvas PR de diferentes estudios, lo que limita su utilidad.

Como siempre, es importante comprender las herramientas que están disponibles para usted y seleccionar la correcta para la aplicación correcta. Sugiero leer la pregunta ROC vs curvas de precisión y recuperación aquí en CV.

Calimo
fuente
3

Tu ejemplo es definitivamente correcto.

Sin embargo, creo que en el contexto de la competencia de Kaggle / aplicación de la vida real, un conjunto de datos sesgado generalmente significa un conjunto de datos con muestras mucho menos positivas que muestras negativas. Solo en este caso, PR AUC es más "significativo" que ROC AUC.

Considere un detector con TP = 9, FN = 1, TN = 900, FP = 90, donde hay 10 muestras positivas y 990 negativas. TPR = 0.9, FPR = 0.1 que indica un buen puntaje ROC, sin embargo, Precisión = 0.1 que indica un mal puntaje PR.

usuario2512796
fuente
0

Estás a medio camino.

Por lo general, cuando hago modelos desequilibrados, diablos, incluso modelos equilibrados, miro PR para TODAS mis clases.

En su ejemplo, sí, su clase positiva tiene P = 0.9 y R = 1.0. Pero lo que debes mirar son TODAS tus clases. Entonces, para su clase negativa, su P = 0 y su R = 0. Y generalmente no solo mira los puntajes de PR individualmente. Desea ver el puntaje F1 (F1 macro o F1 micro, dependiendo de su problema) que es un promedio armónico de sus puntajes de PR tanto para la clase 1 como para la clase 0. Su puntaje de PR de la clase 1 es súper bueno, pero combine eso con su puntaje PR de clase 0, su puntaje F1 será TERRIBLE, que es la conclusión correcta para su escenario.

TL, DR: Mire los puntajes de PR para TODAS sus clases y combínelos con una métrica como el puntaje F1 para tener una conclusión realista sobre el rendimiento de su modelo. El puntaje F1 para su escenario será TERRIBLE, que es la conclusión correcta para su escenario.

Respiración fuerte
fuente