40 votos

Curvas ROC vs. Precisión-recuerdo en un conjunto de datos desequilibrado

Acabo de terminar de leer este discusión. Argumentan que el AUC de PR es mejor que el AUC de ROC en un conjunto de datos desequilibrado.

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. Así, tendremos una métrica que TP = 9, FP = 1, TN = 0, FN = 0.

Entonces, Precisión = 0,9, Recall = 1,0. La precisión y la recuperación son muy altas, pero tenemos un clasificador pobre.

Por otro lado, TPR = TP/(TP+FN) = 1,0, FPR = FP/(FP+TN) = 1,0. Como el FPR es muy alto, podemos identificar que no es un buen clasificador.

Está claro que ROC es mejor que PR en conjuntos de datos desequilibrados. ¿Puede alguien explicar por qué es mejor el PR?

34voto

Calimo Puntos 528

En primer lugar, la afirmación del post de Kaggle es falsa. El documento al que hacen referencia, " La relación entre la precisión y la recuperación y las curvas ROC ", nunca afirma que PR AUC sea mejor que el ROC AUC. Se limitan a comparar sus propiedades, sin juzgar su valor.

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

Por el contrario, las curvas PR están específicamente diseñadas 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 mal la mayor parte 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, como son sensibles a la probabilidad de base de los eventos positivos, no se generalizan bien y sólo se aplican al conjunto de datos específico sobre el que se construyeron, o a conjuntos de datos con el mismo equilibrio exacto. Esto significa que, en general, es difícil comparar las curvas de RP de diferentes estudios, lo que limita su utilidad.

Como siempre, es importante entender las herramientas que están a su disposición y seleccionar la correcta para la aplicación adecuada. Le sugiero que lea la pregunta Curvas ROC frente a las de precisión y recuperación aquí en CV.

17voto

user2512796 Puntos 81

Su ejemplo es definitivamente correcto.

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

Consideremos 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 lo que indica una buena puntuación ROC, sin embargo Precisión=0,1 lo que indica una mala puntuación PR.

3voto

JavaBeginner Puntos 21

Estás a mitad de camino.

Normalmente, cuando hago modelos desequilibrados, diablos, incluso modelos equilibrados, miro el PR de 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. Por lo tanto, para su clase negativa, su P = 0 y su R = 0. Y normalmente no se miran sólo las puntuaciones de PR individualmente. Usted quiere mirar a F1-score (F1 macro o F1 micro, dependiendo de su problema) que es un promedio armónico de sus puntuaciones PR para la clase 1 y la clase 0. Su puntuación de RP de clase 1 es muy buena, pero si la combina con su puntuación de RP de clase 0, su puntuación F1 será TERRIBLE, que es la conclusión correcta para su situación.

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

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