Avantages de l'ASC par rapport à la précision standard

64

Je commençais à regarder dans l'aire sous la courbe (AUC) et je suis un peu confus quant à son utilité. Lorsqu’on m’expliqua pour la première fois, les AUC semblaient être un excellent moyen de mesurer les performances, mais dans le cadre de mes recherches, certains ont affirmé que son avantage était plutôt marginal en ce qu’il était préférable pour capturer des modèles «chanceux» avec des mesures de précision standard élevées et de faibles AUC. .

Donc, devrais-je éviter de compter sur l'AUC pour valider les modèles ou une combinaison serait-elle préférable? Merci pour votre aide.

aidankmcl
la source
5
Considérons un problème très déséquilibré. C’est là que ROC AUC est très populaire, car la courbe équilibre la taille des classes. Il est facile d'obtenir une précision de 99% sur un ensemble de données où 99% des objets appartiennent à la même classe.
Anony-Mousse
3
"L'objectif implicite de AUC est de gérer les situations dans lesquelles la distribution de l'échantillon est très asymétrique et que vous ne voulez pas trop adapter à une seule classe." Je pensais que ces situations étaient celles où l'AUC fonctionnait mal et où des graphiques / zones de rappel de précision étaient utilisés.
JenSCDC
@JenSCDC, d'après mon expérience dans ces situations, l'AUC fonctionne bien et comme l'indique le décrit ci-dessous, c'est à partir de la courbe ROC que vous obtenez cette zone. Le graphique PR est également utile (notez que le rappel est identique à TPR, l'un des axes de ROC) mais que la précision n'est pas tout à fait identique à FPR, le tracé PR est lié au ROC mais pas identique. Sources: stats.stackexchange.com/questions/132777/… et stats.stackexchange.com/questions/7207/…
alexey

Réponses:

60

Vraiment excellente question, et que je trouve que la plupart des gens ne comprennent pas vraiment au niveau intuitif. AUCest en fait souvent préférable à la précision pour la classification binaire pour un certain nombre de raisons différentes. Mais d'abord, parlons de ce qui AUCest exactement . Honnêtement, étant l’un des indicateurs d’efficacité les plus largement utilisés, il est étonnamment obtus de comprendre exactement comment cela AUCfonctionne.

AUCreprésente Area Under the Curvequelle courbe vous demandez? Eh bien, ce serait la ROCcourbe. ROCsignifie " Receiver Operating Characteristic" ( caractéristique du récepteur) , qui est en fait légèrement non intuitif. L’objectif implicite AUCest de traiter les situations dans lesquelles la distribution de l’échantillon est très asymétrique et que vous ne voulez pas sur-adapter à une seule classe.

Un bon exemple est la détection de spam. En règle générale, les ensembles de données de spam sont FORTEMENT biaisés en faveur du jambon, ou non-spam. Si votre ensemble de données est constitué à 90% de jambon, vous pouvez obtenir une sacrément bonne précision en disant simplement que chaque email est du jambon, ce qui est évidemment quelque chose qui indique un classificateur non idéal. Commençons par quelques mesures un peu plus utiles pour nous, en particulier le taux de vrais positifs ( TPR) et le taux de faux positifs ( FPR):

Axes ROC

Maintenant, dans ce graphique, TPRest spécifiquement le ratio de vrais positifs sur tous les positifs, et FPRest le ratio de faux positifs sur tous les négatifs. (N'oubliez pas que cela ne concerne que la classification binaire.) Sur un graphique comme celui-ci, il devrait être assez simple de comprendre qu'une prédiction de tous les 0 ou de tous les 1 se traduira par les points de (0,0)et (1,1)respectivement. Si vous tracez une ligne à travers ces lignes, vous obtenez quelque chose comme ceci:

Un peu comme un triangle

Ce qui ressemble fondamentalement à une ligne diagonale (ce qui est le cas), et par une géométrie simple, vous pouvez voir qu’un AUCtel modèle serait 0.5(la hauteur et la base sont toutes deux 1). De même, si vous prédisez un assortiment aléatoire de 0 et de 1, soit 90% de 1, vous pouvez obtenir le point (0.9, 0.9), qui tombe à nouveau le long de cette diagonale.

Maintenant vient la partie intéressante. Et si on ne prédisait pas seulement des 0 et des 1? Et si au lieu de cela, nous voulions dire que, théoriquement, nous allions définir une limite, au-dessus de laquelle chaque résultat était un 1, et en dessous de chaque résultat étant un 0. Cela signifierait que, dans les cas extrêmes, vous obtenez la situation initiale. avoir tous les 0 et tous les 1 (à une coupure de 0 et 1 respectivement), mais aussi une série d'états intermédiaires qui entrent dans le 1x1graphique qui contient votre ROC. En pratique, vous obtenez quelque chose comme ceci: Gracieuseté de Wikipedia

Donc, en gros, ce que vous obtenez quand vous faites une AUCsur-précision est quelque chose qui va fortement décourager les gens d’opter pour des modèles représentatifs, mais non discriminants, car cela ne sélectionnera en fait que les modèles qui obtiennent des taux de faux positifs et de vrais positifs qui: sont nettement au-dessus du hasard, ce qui n’est pas garanti en termes de précision.

indico
la source
Pourriez-vous ajouter comment l'AUC se compare à un score de F1?
Dan
7
@ Dan- La plus grande différence est qu'il n'est pas nécessaire de définir un seuil de décision avec l'ASC (il s'agit essentiellement de mesurer la probabilité que le spam soit classé au-dessus du non-spam). Le score F1 nécessite un seuil de décision. Bien entendu, vous pouvez toujours définir le seuil de décision comme paramètre de fonctionnement et tracer les scores F1.
DSea
17

AUC et la précision sont des choses assez différentes. L'AUC s'applique aux classificateurs binaires qui ont une certaine notion de seuil de décision en interne. Par exemple, la régression logistique renvoie positif / négatif selon que la fonction logistique est supérieure ou inférieure à un seuil, généralement 0,5 par défaut. Lorsque vous choisissez votre seuil, vous avez un classificateur. Vous devez en choisir un.

Pour un choix de seuil donné, vous pouvez calculer l'exactitude, qui correspond à la proportion de vrais positifs et négatifs dans l'ensemble de données.

Les AUC mesurent le compromis entre le taux positif réel (rappel) et le taux faussement positif, de sorte qu’il mesure déjà autre chose. Plus important encore, l'ASC n'est pas une fonction du seuil. C'est une évaluation du classifieur car le seuil varie sur toutes les valeurs possibles. En un sens, il s'agit d'une métrique plus large, testant la qualité de la valeur interne générée par le classificateur, puis comparée à un seuil. Il ne s'agit pas de tester la qualité d'un choix de seuil particulier.

L'ASC a une interprétation différente, c'est aussi la probabilité qu'un exemple positif choisi au hasard soit placé au-dessus d'un exemple négatif choisi au hasard, en fonction de la valeur interne du classifieur pour les exemples.

L'AUC est calculable même si vous avez un algorithme qui produit uniquement un classement sur des exemples. L'AUC n'est pas calculable si vous ne disposez réellement que d'un classificateur à boîte noire et non d'un classificateur à seuil interne. Celles-ci dicteraient généralement lequel des deux est même disponible pour un problème donné.

La CUA est, à mon avis, une mesure plus complète, bien que applicable dans moins de situations. Ce n'est pas strictement meilleur que la précision; c'est différent. Cela dépend en partie de savoir si vous vous souciez davantage des vrais positifs, des faux négatifs, etc.

La mesure F est plus proche de la précision en ce sens qu'elle est fonction d'un classificateur et de son réglage de seuil. Mais il mesure la précision par rapport au rappel (taux positif réel), ce qui n’est pas le même que celui indiqué ci-dessus.

Sean Owen
la source
Par conséquent, si je veux prédire un résultat binaire pour un ensemble d'observations pour lesquelles la taille de groupe est identique (à savoir une étude cas-témoins), est-ce que je gagne quelque chose en utilisant l'AUC sur la précision? Ou l'utilisation typique de l'AUC dans de telles études est-elle simplement due à une convention?
Joe
La AUC mesure dans quelle mesure le classificateur classe les instances positives plus haut que les instances négatives, tandis que la précision mesure les vrais positifs par rapport aux faux positifs pour un seuil de décision donné. Je suppose que cela dépend de ce qui correspond à ce que vous voulez évaluer. La AUC est sans doute une mesure plus complète du classifieur indépendante du choix du seuil, mais toute utilisation réelle du classifieur dépendra du choix d’un seuil afin de classer
Sean Owen le
4

J'aimerais parler de la façon dont vous devriez choisir une mesure de performance. Auparavant, je parlerai de la question précise de l’exactitude et de l’ASC.

Comme indiqué précédemment, l'utilisation d'un jeu de données déséquilibré utilisant la majorité comme classificateur conduit à une grande précision, ce qui en fait une mesure trompeuse. Le seuil global de confiance de l'AUC est positif ou négatif. Pour de bon, vous obtenez un résultat de poids pour tout niveau de confiance. Le problème, c’est que vous ne vous souciez généralement que du niveau de confiance que vous utiliserez réellement et le reste n’est pas pertinent.

Cependant, je voudrais faire une remarque sur le choix d’une mesure de performance appropriée pour un modèle. Vous devriez comparer un modèle par son objectif. L’objectif d’un modèle n’est pas une question de machine learning ni de statistique, mais du domaine métier et de ses besoins.

Si vous creusez pour trouver de l'or (scénario dans lequel vous bénéficiez d'un avantage positif réel, pas trop élevé d'un faux positif), le rappel est une bonne mesure.

Si vous essayez de décider d’effectuer une procédure médicale complexe sur une personne (coût élevé du faux positif, espérons-le, faible coût), la précision est la mesure que vous devez utiliser.

Vous pouvez utiliser de nombreuses mesures. Vous pouvez également les combiner de différentes manières.

Cependant, il n'y a pas de "meilleure" mesure universelle. Il existe le meilleur modèle pour vos besoins, celui qui maximisera vos avantages.

DaL
la source