Estoy usando un clasificador que devuelve probabilidades. Para calcular el AUC, estoy usando el paquete pROC R. Las probabilidades de salida del clasificador son:
probs=c(0.9865780,
0.9996340,
0.9516880,
0.9337157,
0.9778576,
0.8140116,
0.8971550,
0.8967585,
0.6322902,
0.7497237)
probs
muestra la probabilidad de estar en la clase '1'. Como se muestra, el clasificador ha clasificado todas las muestras en la clase '1'.
El verdadero vector de etiqueta es:
truel=c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0)
Como se muestra, el clasificador ha clasificado erróneamente 5 muestras. Pero, AUC es:
pROC::auc(truel, probs)
Area under the curve: 1
¿Podría explicarme por qué sucede?
machine-learning
auc
usuario4704857
fuente
fuente
Respuestas:
El AUC es una medida de la capacidad de clasificar ejemplos según la probabilidad de pertenencia a la clase. Por lo tanto, si todas las probabilidades están por encima de 0.5, aún puede tener un AUC de uno si todos los patrones positivos tienen mayores probabilidades que todos los patrones negativos. En este caso, habrá un umbral de decisión superior a 0,5, lo que daría una tasa de error de cero. Tenga en cuenta que debido a que el AUC solo mide la clasificación de las probabilidades, no le dice si las probabilidades están bien calibradas (por ejemplo, no hay sesgo sistemático), si la calibración de las probabilidades es importante, mire la métrica de entropía cruzada.
fuente
Las otras respuestas explican lo que está sucediendo, pero pensé que una imagen podría ser agradable.
Puede ver que las clases están perfectamente separadas, por lo que el AUC es 1, pero un umbral de 1/2 producirá una tasa de clasificación errónea del 50%.
fuente
Las muestras no fueron "clasificadas erróneamente" en absoluto. Los
0
ejemplos se clasifican estrictamente más bajos que los1
ejemplos. AUROC está haciendo exactamente lo que está definido para hacer, que es medir la probabilidad de que un seleccionado al azar1
tenga una clasificación más alta que un seleccionado al azar0
. En esta muestra, esto siempre es cierto, por lo que es un evento de probabilidad 1.Tom Fawcett tiene un excelente artículo expositivo sobre las curvas ROC. Sugeriría comenzar allí.
Tom Fawcett. "Una introducción al análisis ROC". Cartas de reconocimiento de patrones. 2005
fuente