Pourquoi AUC = 1, même le classificateur a mal classé la moitié des échantillons?

20

J'utilise un classificateur qui renvoie des probabilités. Pour calculer l'ASC, j'utilise pROC R-package. Les probabilités de sortie du classificateur sont:

probs=c(0.9865780,
0.9996340,
0.9516880,
0.9337157,
0.9778576,
0.8140116,
0.8971550,
0.8967585,
0.6322902,
0.7497237)

probsmontre la probabilité d'être dans la classe «1». Comme indiqué, le classificateur a classé tous les échantillons dans la classe «1».

Le vrai vecteur d'étiquette est:

truel=c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0)

Comme indiqué, le classificateur a mal classé 5 échantillons. Mais, l'AUC est:

pROC::auc(truel, probs)
Area under the curve: 1

Pourriez-vous s'il vous plaît m'expliquer pourquoi cela se produit?

user4704857
la source
Question connexe: stats.stackexchange.com/questions/97395
Juho Kokkala

Réponses:

21

L'AUC est une mesure de la capacité de classer les exemples selon la probabilité d'appartenance à une classe. Ainsi, si toutes les probabilités sont supérieures à 0,5, vous pouvez toujours avoir une ASC de un si tous les modèles positifs ont des probabilités plus élevées que tous les modèles négatifs. Dans ce cas, il y aura un seuil de décision supérieur à 0,5, ce qui donnerait un taux d'erreur de zéro. Notez que parce que l'ASC ne mesure que le classement des probabilités, elle ne vous dit pas si les probabilités sont bien calibrées (par exemple, il n'y a pas de biais systématique), si le calibrage des probabilités est important, alors regardez la métrique d'entropie croisée.

Dikran Marsupial
la source
21

Les autres réponses expliquent ce qui se passe, mais j'ai pensé qu'une photo pourrait être agréable.

Vous pouvez voir que les classes sont parfaitement séparées, donc l'ASC est 1, mais un seuil à 1/2 produira un taux de classification erronée de 50%.

probs

jld
la source
21

Les échantillons n'étaient pas du tout "mal classés". Les 0exemples sont classés strictement inférieurs aux 1exemples. L'AUROC fait exactement ce pour quoi il est défini, c'est-à-dire mesurer la probabilité qu'un élément sélectionné au hasard 1soit mieux classé qu'un élément sélectionné au hasard 0. Dans cet exemple, cela est toujours vrai, il s'agit donc d'un événement de probabilité 1.

Tom Fawcett a un excellent article explicatif sur les courbes ROC. Je suggère de commencer par là.

Tom Fawcett. «An Introduction to ROC Analysis». Lettres de reconnaissance de formes. 2005.

Sycorax dit de réintégrer Monica
la source
3
+1 Le journal Fawcett est en effet un très bon point de départ.
Dikran Marsupial