ROC vs courbes de rappel de précision sur un ensemble de données déséquilibré


17

Je viens de terminer la lecture de cette discussion. Ils soutiennent que PR AUC est meilleure que ROC AUC sur un ensemble de données déséquilibré.

Par exemple, nous avons 10 échantillons dans l'ensemble de données de test. 9 échantillons sont positifs et 1 négatif. Nous avons un modèle terrible qui prédit tout positif. Ainsi, nous aurons une métrique que TP = 9, FP = 1, TN = 0, FN = 0.

Ensuite, Précision = 0,9, Rappel = 1,0. La précision et le rappel sont tous deux très élevés, mais nous avons un mauvais classificateur.

En revanche, TPR = TP / (TP + FN) = 1.0, FPR = FP / (FP + TN) = 1.0. Parce que le FPR est très élevé, nous pouvons identifier que ce n'est pas un bon classificateur.

De toute évidence, ROC est meilleur que PR sur les ensembles de données déséquilibrés. Quelqu'un peut-il expliquer pourquoi les relations publiques sont meilleures?


1
Précision et Rappel ignorent tous les deux les faux négatifs. La justification habituelle de l'utilisation du compromis PR (courbes ou score F) est que le nombre de négatifs et de faux négatifs est énorme par rapport à TP et FP. Donc TNR-> 1 et FPR-> 0 (somme à 1 avec le même dénominateur | Negs |). Donc, dans ce cas, PR reflète (amplifie ou agrandit) le compromis entre TP et FP, mais ce n'est pas significatif et ce qui est pertinent est une augmentation de l'indice Youden J (Informedness = TPR-FPR = TPR + TNR-1 = Sensibilité + Spécificité-1) qui correspond à deux fois l'aire entre la courbe triangulaire à point de fonctionnement unique et la ligne de chance ROC.
David MW Powers

2
@DavidMWPowers, pourquoi ne pas en faire une réponse officielle? Cela me semble être une réponse très informative.
gung - Réintégrer Monica

2
c

Réponses:


8

Premièrement, la réclamation sur le poste Kaggle est fausse. Le document auquel ils font référence, " La relation entre le rappel de précision et les courbes ROC ", ne prétend jamais que PR AUC est meilleure que ROC AUC. Ils comparent simplement leurs propriétés, sans juger de leur valeur.

Les courbes ROC peuvent parfois être trompeuses dans certaines applications très déséquilibrées. Une courbe ROC peut toujours sembler assez bonne (c'est-à-dire meilleure que aléatoire) tout en classant incorrectement la plupart ou la totalité de la classe minoritaire.

En revanche, les courbes PR sont spécialement conçues pour la détection d'événements rares et sont très utiles dans ces scénarios. Ils montreront que votre classificateur a de faibles performances s'il classe incorrectement la plupart ou la totalité de la classe minoritaire. Mais ils ne se traduisent pas bien en cas plus équilibrés ou en cas où les négatifs sont rares.

De plus, comme ils sont sensibles à la probabilité de base d'événements positifs, ils ne se généralisent pas bien et ne s'appliquent qu'à l'ensemble de données spécifique sur lequel ils ont été construits, ou aux ensembles de données avec le même équilibre exact. Cela signifie qu'il est généralement difficile de comparer les courbes PR de différentes études, ce qui limite leur utilité.

Comme toujours, il est important de comprendre les outils dont vous disposez et de sélectionner le bon pour la bonne application. Je suggère de lire la question ROC vs courbes de précision et de rappel ici sur CV.


3

Votre exemple est définitivement correct.

Cependant, je pense que dans le contexte de la compétition Kaggle / application réelle, un ensemble de données asymétrique signifie généralement un ensemble de données avec des échantillons beaucoup moins positifs que des échantillons négatifs. Seulement dans ce cas, PR AUC est plus «significatif» que ROC AUC.

Considérons un détecteur avec TP = 9, FN = 1, TN = 900, FP = 90, où il y a 10 échantillons positifs et 990 négatifs. TPR = 0,9, FPR = 0,1 qui indique un bon score ROC, cependant Précision = 0,1 qui indique un mauvais score PR.


0

Vous êtes à mi-chemin.

Habituellement, lorsque je fais des modèles déséquilibrés, diaboliques, même des modèles équilibrés, je regarde les relations publiques pour TOUTES mes classes.

Dans votre exemple, oui, votre classe positive a P = 0,9 et R = 1,0. Mais ce que vous devriez regarder, ce sont TOUTES vos classes. Donc, pour votre classe négative, votre P = 0 et votre R = 0. Et vous ne regardez généralement pas seulement les scores PR individuellement. Vous voulez regarder le score F1 (macro F1 ou F1 micro, selon votre problème) qui est une moyenne harmonique de vos scores PR pour la classe 1 et la classe 0. Votre score PR pour la classe 1 est super bon, mais combinez-le avec votre score PR de classe 0, votre score F1 sera TERRIBLE, ce qui est la bonne conclusion pour votre scénario.

TL, DR: Regardez les scores PR pour TOUTES vos classes et combinez-les avec une métrique comme le score F1 pour avoir une conclusion réaliste sur les performances de votre modèle. Le score F1 pour votre scénario sera TERRIBLE, ce qui est la conclusion correcte pour votre scénario.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.