Avantages des courbes ROC

15

Quels sont les avantages des courbes ROC?

Par exemple, je classe certaines images, ce qui est un problème de classification binaire. J'ai extrait environ 500 fonctionnalités et appliqué un algorithme de sélection de fonctionnalités pour sélectionner un ensemble de fonctionnalités, puis j'ai appliqué SVM pour la classification. Dans ce cas, comment obtenir une courbe ROC? Dois-je modifier les valeurs de seuil de mon algorithme de sélection de caractéristiques et obtenir la sensibilité et la spécificité de la sortie pour tracer une courbe ROC?

Dans mon cas, quel est le but de créer une courbe ROC?

user570593
la source
2
"Une introduction à l'analyse ROC" par Tom Fawcett m'a aidé à mieux comprendre les courbes ROC. Vous pourriez l'apprécier si vous recherchez de la littérature supplémentaire sur le sujet.
Alexander
D'accord, mais que feriez-vous pour comparer deux classificateurs? S'ils utilisent des seuils pour que la spécificité ni la sensibilité ne correspondent pas très étroitement, je ne pense pas qu'il soit facile de comparer sans regarder plus de poitns sur le ROC.
Michael R. Chernick
Il est rarement approprié de développer des classificateurs, et l'erreur de classification est une règle de notation incorrecte. Il existe de nombreuses méthodes de haute puissance pour comparer la qualité des prévisions réelles, et elles sont plus intuitives que les courbes ROC. Voir par exemple ceci .
Frank Harrell

Réponses:

13

De nombreux algorithmes de classification binaires calculent une sorte de score de classification (parfois, mais pas toujours, c'est une probabilité d'être dans l'état cible), et ils classent selon que le score est supérieur ou non à un certain seuil. L'affichage de la courbe ROC vous permet de voir le compromis entre sensibilité et spécificité pour tous les seuils possibles plutôt que celui qui a été choisi par la technique de modélisation. Différents objectifs de classification peuvent rendre un point de la courbe plus adapté à une tâche et un autre plus adapté à une tâche différente, donc regarder la courbe ROC est un moyen d'évaluer le modèle indépendamment du choix d'un seuil.

Michael McGowan
la source
Merci pour la réponse. C'est vraiment utile. Sur la base de la courbe ROC, existe-t-il de toute façon de déterminer le seuil? Et dans mon cas, comment puis-je obtenir un point dans l'espace ROC pour une sensibilité = 100% ou une spécificité = 100%. parce que je change le seuil de l'algorithme de sélection des fonctionnalités.
user570593
1
La courbe ROC vous montre la sensibilité et la spécificité à tous les seuils possibles, donc si vous trouvez un point qui représente le bon compromis, vous pouvez choisir le seuil qui va avec ce point sur la courbe.
Michael McGowan,
Existe-t-il un moyen automatique de sélectionner le bon compromis ou dois-je sélectionner le compromis moi-même? Et dans mon cas, comment puis-je obtenir un point dans l'espace ROC pour une sensibilité = 100% ou une spécificité = 100%. parce que je change le seuil de l'algorithme de sélection des fonctionnalités.
user570593
2
Si vous avez un critère bien défini (par exemple maximiser la précision), cela peut être automatisé. Mais un bon compromis pour un problème pourrait être moche pour un autre.
Michael McGowan,
2
Une sensibilité ou spécificité de 100% peut être obtenue de manière triviale en fixant votre seuil à la valeur minimale ou maximale ... est-ce vraiment ce que vous voulez?
Michael McGowan
11

Les courbes ROC ne sont pas informatives dans 99% des cas que j'ai vus au cours des dernières années. Ils semblent être considérés comme obligatoires par de nombreux statisticiens et encore plus par les praticiens de l'apprentissage automatique. Et assurez-vous que votre problème est vraiment un problème de classification et non un problème d'estimation des risques. Au cœur des problèmes rencontrés avec les courbes ROC, ils invitent les utilisateurs à utiliser des seuils pour les variables continues et ils utilisent des probabilités inverses, c'est-à-dire des probabilités d'événements qui sont dans l'ordre inverse du temps (sensibilité et spécificité). Les courbes ROC ne peuvent pas être utilisées pour trouver des compromis optimaux, sauf dans des cas très particuliers où les utilisateurs d'une règle de décision abdiquent leur fonction de perte (coût; utilité) à l'analyste.

Frank Harrell
la source
Je ne suis pas complètement d'accord avec Frank. Je pense que l'utilisation de l'AUC du ROC est souvent un problème. Mais qualitativement, je pense qu'il peut être utile de comparer des algorithmes. Le simple fait de regarder la spécificité et la sensibilité en un seul point n'est pas aussi instructif. De plus, je ne suis pas sûr que sa réponse réponde vraiment à la question parce que le PO veut vraiment savoir dans son cas pourquoi cela tombe dans les 99% de cas non informatifs ou les 1% qui sont informatifs.
Michael R. Chernick
R2
R2
1
@FrankHarrell Mais comment comparer deux algorithmes lorsqu'ils ne correspondent pas très étroitement à la spécificité et à la sensibilité?
Michael R. Chernick
7
R2χ2R2
1

Après avoir créé une courbe ROC, l'ASC (zone sous la courbe) peut être calculée. L'AUC est la précision du test à travers de nombreux seuils. AUC = 1 signifie que le test est parfait. AUC = .5 signifie qu'il fonctionne au hasard pour la classification binaire.

S'il existe plusieurs modèles, l'AUC fournit une mesure unique à comparer entre différents modèles. Il y a toujours des compromis avec une seule mesure, mais l'AUC est un bon point de départ.

Brian Spiering
la source
1
OuicXy
0

L'AUC ne compare pas les classes réelles et prédites entre elles. Il ne s'agit pas de la classe prédite, mais du score de prédiction ou de la probabilité. Vous pouvez faire la prédiction de la classe en appliquant un seuil à ce score, par exemple, chaque échantillon ayant obtenu un score inférieur à 0,5 est classé comme négatif. Mais le ROC vient avant que cela n'arrive. Il travaille avec les scores / probabilités de classe.

Il prend ces scores et trie tous les échantillons en fonction de ce score. Maintenant, chaque fois que vous trouvez un échantillon positif, la courbe ROC fait un pas vers le haut (le long de l'axe y). Chaque fois que vous trouvez un échantillon négatif, vous vous déplacez vers la droite (le long de l'axe des x). Si ce score est différent pour les deux classes, les échantillons positifs viennent en premier (généralement). Cela signifie que vous faites plus de pas que vers la droite. Plus bas dans la liste, les échantillons négatifs viendront, vous allez donc à gauche. Lorsque vous parcourez toute la liste des échantillons, vous atteignez la coordonnée (1,1) qui correspond à 100% des échantillons positifs et 100% des échantillons négatifs.

Si le score sépare parfaitement le positif des échantillons négatifs, vous passez de (x = 0, y = 0) à (1,0) puis de là à (1, 1). Donc, l'aire sous la courbe est 1.

Si votre score a la même distribution pour les échantillons positifs et négatifs, les probabilités de trouver un échantillon positif ou négatif dans la liste triée sont égales et donc les probabilités de se déplacer vers le haut ou vers la gauche dans la courbe ROC sont égales. C'est pourquoi vous vous déplacez le long de la diagonale, car vous vous déplacez essentiellement vers le haut et vers la gauche, vers le haut et vers la gauche, etc., ce qui donne une valeur AROC d'environ 0,5.

Dans le cas d'un ensemble de données déséquilibré, la taille de l'étape est différente. Donc, vous faites de plus petits pas vers la gauche (si vous avez plus d'échantillons négatifs). C'est pourquoi le score est plus ou moins indépendant du déséquilibre.

Ainsi, avec la courbe ROC, vous pouvez visualiser la façon dont vos échantillons sont séparés et la zone sous la courbe peut être une très bonne métrique pour mesurer les performances d'un algorithme de classification binaire ou de toute variable pouvant être utilisée pour séparer les classes.

entrez la description de l'image ici

La figure montre les mêmes distributions avec différentes tailles d'échantillon. La zone noire montre où les courbes ROC de mélanges aléatoires d'échantillons positifs et négatifs seraient attendues.

Sören
la source
Ces graphiques ne fournissent aucun aperçu et ont un taux d'encre: informations exceptionnellement élevé à mon humble avis. Respectez les bons scores de précision: fharrell.com/post/class-damage fharrell.com/post/addvalue
Frank Harrell
Il y a bien plus d'informations dans ces graphiques que dans un seul score de précision unidimensionnelle. Le même score peut provenir de nombreuses distributions différentes. Avez-vous une reconnaissance précoce? Avez-vous plusieurs classes d'échantillons positifs qui se comportent différemment? Votre résultat est-il statistiquement significatif? Toutes ces questions peuvent être évidentes à répondre en regardant ces graphiques et impossibles à répondre avec un seul score de précision.
Sören
Je doute sérieusement que les consommateurs et les analystes puissent obtenir un aperçu de ces courbes qui est presque aussi intuitif que de montrer une courbe d'étalonnage superposée avec un histogramme haute résolution montrant les valeurs prédites. Et chaque point sur la courbe ROC est un score de précision incorrect.
Frank Harrell
Les débutants ont souvent du mal à comprendre ces courbes. Par conséquent, je ne recommanderais pas nécessairement de le montrer aux consommateurs afin de faire la publicité de votre produit. Je pense que vous voulez quelque chose de plus simpliste. Cependant, la courbe est plus que les points individuels.
Sören