Zone sous la courbe ROC ou zone sous la courbe PR pour les données déséquilibrées?

16

J'ai quelques doutes quant à la mesure de performance à utiliser, l'aire sous la courbe ROC (TPR en fonction de FPR) ou l'aire sous la courbe de précision-rappel (précision en fonction du rappel).

Mes données sont déséquilibrées, c'est-à-dire que le nombre d'instances négatives est beaucoup plus important que les instances positives.

J'utilise la prédiction de sortie de weka, un échantillon est:

inst#,actual,predicted,prediction
1,2:0,2:0,0.873
2,2:0,2:0,0.972
3,2:0,2:0,0.97
4,2:0,2:0,0.97
5,2:0,2:0,0.97
6,2:0,2:0,0.896
7,2:0,2:0,0.973

Et j'utilise les bibliothèques pROC et ROCR r.

MM
la source
Vous avez oublié de mentionner ce que vous souhaitez réaliser avec l'une de ces courbes.
Marc Claesen
1
Remarque: il semble que vous souhaitiez choisir entre les courbes ROC (TPR en fonction du FPR sur toute la plage de fonctionnement) et les courbes PR (précision versus rappel sur toute la plage de fonctionnement). Une terminologie comme « AUC-ROC de précision et de rappel » est très trompeuse, j'ai donc édité ceci. Veuillez revenir dessus si j'ai mal compris.
Marc Claesen

Réponses:

27

La question est assez vague, je vais donc supposer que vous voulez choisir une mesure de performance appropriée pour comparer différents modèles. Pour un bon aperçu des principales différences entre les courbes ROC et PR, vous pouvez vous reporter à l'article suivant: La relation entre le rappel de précision et les courbes ROC par Davis et Goadrich .

Pour citer Davis et Goadrich:

Cependant, lorsqu'il s'agit d'ensembles de données très asymétriques, les courbes de précision-rappel (PR) donnent une image plus informative des performances d'un algorithme.

FPR=FPFP+TN,TPR=TPTP+FN.
recunell=TPTP+FN=TPR,precjesjeon=TPTP+FP

FP

Les courbes de rappel de précision sont meilleures pour mettre en évidence les différences entre les modèles pour les ensembles de données fortement déséquilibrés. Si vous souhaitez comparer différents modèles dans des paramètres déséquilibrés, l'aire sous la courbe PR présentera probablement des différences plus importantes que l'aire sous la courbe ROC.

Cela dit, les courbes ROC sont beaucoup plus courantes (même si elles sont moins adaptées). Selon votre public, les courbes ROC peuvent être la lingua franca, donc les utiliser est probablement le choix le plus sûr. Si un modèle domine complètement un autre dans l'espace PR (par exemple, a toujours une plus grande précision sur toute la plage de rappel), il dominera également dans l'espace ROC. Si les courbes se croisent dans l'un ou l'autre espace, elles se croiseront également dans l'autre. En d'autres termes, les principales conclusions seront similaires quelle que soit la courbe que vous utilisez.


Publicité sans vergogne . Comme exemple supplémentaire, vous pourriez jeter un œil à l' un de mes articles dans lequel je rapporte les courbes ROC et PR dans un contexte déséquilibré. La figure 3 contient les courbes ROC et PR pour des modèles identiques, montrant clairement la différence entre les deux. Pour comparer l'aire sous le PR par rapport à l'aire sous ROC, vous pouvez comparer les tableaux 1-2 (AUPR) et les tableaux 3-4 (AUROC) où vous pouvez voir que l'AUPR montre des différences beaucoup plus importantes entre les modèles individuels que l'AUROC. Cela souligne une fois de plus l'adéquation des courbes PR.

Marc Claesen
la source
Merci pour l'explication. La question maintenant, pourquoi les courbes PR sont plus informatives pour les données déséquilibrées? Pour moi, ROC devrait être plus informatif car il considère à la fois le TPR et le FPR.
MM
1
@MA a modifié ma réponse pour clarifier.
Marc Claesen
1
Je pense qu'il y a un mélange dans l'équation de rappel entre TPR et FPR, non?
Simon Thordal
Vous avez raison, cela devrait être: rappel = ... = TPR, pas FPR. @Marc Claesen, je pense que vous seul pouvez changer cela, car lorsque j'essaie de le faire, je suis informé que: "Les modifications doivent avoir au moins 6 caractères", il est donc impossible de corriger les petites fautes de frappe, comme celle-ci.
ponadto
6

Les courbes ROC tracent le TPR sur l'axe des y et le FPR sur l'axe des x, mais cela dépend de ce que vous voulez représenter. À moins qu'il n'y ait une raison de le tracer différemment dans votre domaine d'étude, les courbes ROC TPR / FPR sont la norme pour montrer les compromis opérationnels et je pense qu'ils seraient les mieux reçus.

La précision et le rappel seuls peuvent être trompeurs car ils ne tiennent pas compte des vrais négatifs.

Underminer
la source
0

Je considère que la plus grande différence entre ROC et PR AUC est le fait que le ROC détermine dans quelle mesure votre modèle peut "calculer" la classe positive ET la classe négative, alors que l'ASC PR ne regarde vraiment que votre classe positive. Donc, dans une situation de classe équilibrée et où vous vous souciez des classes négatives et positives, la métrique ROC AUC fonctionne très bien. Lorsque vous avez une situation déséquilibrée, il est préférable d'utiliser l'ASC PR, mais gardez à l'esprit que cela détermine uniquement dans quelle mesure votre modèle peut "calculer" la classe positive!

David
la source