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.
machine-learning
accuracy
aidankmcl
la source
la source
Réponses:
Vraiment excellente question, et que je trouve que la plupart des gens ne comprennent pas vraiment au niveau intuitif.
AUC
est 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 quiAUC
est exactement . Honnêtement, étant l’un des indicateurs d’efficacité les plus largement utilisés, il est étonnamment obtus de comprendre exactement comment celaAUC
fonctionne.AUC
représenteArea Under the Curve
quelle courbe vous demandez? Eh bien, ce serait laROC
courbe.ROC
signifie " Receiver Operating Characteristic" ( caractéristique du récepteur) , qui est en fait légèrement non intuitif. L’objectif impliciteAUC
est 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
):Maintenant, dans ce graphique,
TPR
est spécifiquement le ratio de vrais positifs sur tous les positifs, etFPR
est 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:Ce qui ressemble fondamentalement à une ligne diagonale (ce qui est le cas), et par une géométrie simple, vous pouvez voir qu’un
AUC
tel modèle serait0.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
1x1
graphique qui contient votreROC
. En pratique, vous obtenez quelque chose comme ceci:Donc, en gros, ce que vous obtenez quand vous faites une
AUC
sur-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.la source
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.
la source
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.
la source