Pourquoi la précision n'est-elle pas la meilleure mesure pour évaluer les modèles de classification?


107

C'est une question générale qui a été posée indirectement à plusieurs reprises ici, mais il manque une seule réponse faisant autorité. Il serait bon d'avoir une réponse détaillée à cette question pour la référence.

L’exactitude , la proportion de classifications correctes parmi toutes les classifications, est une mesure très simple et très "intuitive", mais elle peut constituer une mesure médiocre pour les données déséquilibrées . Pourquoi notre intuition nous trompe-t-elle ici et cette mesure pose-t-elle d'autres problèmes?

Réponses:


112

La plupart des autres réponses se concentrent sur l'exemple des classes déséquilibrées. Oui c'est important. Cependant, je soutiens que la précision est problématique même avec des classes équilibrées.

Frank Harrell a écrit à ce sujet sur son blog: Classification vs prévision et dommages causés par l'exactitude de la classification et d'autres règles de notation de l'exactitude discontinue et discontinue .

Son argument principal est que la composante statistique de votre exercice se termine lorsque vous indiquez une probabilité pour chaque classe de votre nouvel échantillon. La cartographie de ces probabilités prévues (p^,1p^) à une classification 0-1, en choisissant un seuil au - delà duquel vous classez une nouvelle observation en 1 contre 0 ne fait pas partie des statistiques plus. Cela fait partie de la composante décision . Et ici, vous avez besoin de la sortie probabiliste de votre modèle, mais également de considérations telles que:

  • Quelles sont les conséquences de la décision de traiter une nouvelle observation en tant que classe 1 vs 0? Dois-je alors envoyer un mail marketing pas cher à tous les 1? Ou dois-je appliquer un traitement anticancéreux invasif avec des effets secondaires importants?
  • Quelles sont les conséquences de traiter un "vrai" 0 comme un 1, et inversement? Vais-je cocher un client? Soumettre quelqu'un à un traitement médical inutile?
  • Mes "classes" sont-elles vraiment discrètes? Ou existe-t-il réellement un continuum (par exemple, la pression artérielle), où les seuils cliniques ne sont en réalité que des raccourcis cognitifs? Si oui, jusqu'où suis-je en train de "classer" au delà d'un seuil?
  • Ou bien une probabilité faible mais positive d'être de classe 1 signifie-t-elle réellement "obtenir plus de données", "exécuter un autre test"?

Selon les conséquences de votre décision, vous utiliserez un seuil différent pour prendre la décision. Si l'action est une chirurgie invasive, vous aurez besoin d'une probabilité beaucoup plus élevée de classification du patient comme souffrant de quelque chose que si l'action consiste à recommander deux aspirines. Ou vous pourriez même avoir trois décisions différentes bien qu'il n'y ait que deux classes (malade vs en bonne santé): "rentrez chez vous et ne vous inquiétez pas" vs "faire un autre test parce que celui que nous avons n'est pas concluant" ou "fonctionner immédiatement" .

La bonne façon d'évaluer les probabilités prédites (p^,1p^) est pas de les comparer à un seuil, pour les mapper (0,1) sur la base du seuil, puis d' évaluer la transformée (0,1) classification. Au lieu de cela, on devrait utiliser des appropriées . Ce sont des fonctions de perte qui mappent les probabilités prédites et les résultats observés correspondants aux valeurs de perte, qui sont minimisées en anticipation par les probabilités vraies (p,1p). L'idée est que nous prenons la moyenne de la règle de scoring évaluée sur plusieurs (meilleurs: nombreux) résultats observés et les probabilités d'appartenance à une classe prédites correspondantes, comme une estimation de l'attente de la règle de scoring.

Notez que "approprié" a ici une signification précise - il existe des règles de notation inappropriées ainsi que des règles de notation appropriées et enfin des règles de notation strictement correctes . Les règles de notation en tant que telles sont des fonctions de perte de densités prédictives et de résultats. Les règles de notation appropriées sont des règles de notation minimisées si la densité prédictive est la densité vraie. Les règles de notation strictement appropriées sont des règles de notation qui ne sont minimisées que si la densité prédictive est la densité réelle.

Comme le note Frank Harrell , la précision est une règle de notation inappropriée. (Plus précisément, l’ exactitude n’est même pas une règle de notation : voir ma réponse à La précision est-elle une règle de notation inappropriée dans un paramètre de classification binaire? ) On peut le voir, par exemple, si nous n’avons pas de prédicteurs et si une pièce injuste avec des probabilités (0.6,0.4) . La précision est maximisée si nous classons tout dans la première classe et ignorons complètement la probabilité de 40% que tout résultat puisse appartenir à la deuxième classe. (Nous voyons ici que la précision pose problème même pour les classes équilibrées.) Des appropriées préfèreront un (0.6,0.4) prédiction à(1,0) en attente. En particulier, la précision est discontinue dans le seuil: déplacer le seuil un tout petit peu peut faire en sorte qu'une ou plusieurs prédictions changent de classe et modifient toute la précision d'une manière discrète. Cela n'a pas de sens.

Pour plus d’informations, consultez les deux articles de Frank sur le blog mentionnés ci-dessus, ainsi que le chapitre 10 des Stratégies de modélisation de régression de Frank Harrell .

(Ceci est impitoyablement tiré d' une de mes réponses précédentes .)


MODIFIER. Ma réponse à l' exemple lorsque j'utilise l'exactitude comme mesure de résultat conduira à une conclusion fausse, donne un exemple, espérons-le, illustrant une maximisation de l'exactitude pouvant conduire à de mauvaises décisions, même pour des classes équilibrées .


6
Le point de @ Tim Frank (dont il a discuté dans de nombreuses réponses sur notre site et ailleurs), si j'ai bien compris, est que si un algorithme de classification ne renvoie pas de probabilités, il ne sert à rien et ne doit pas être utilisé. Pour être honnête, la plupart des algorithmes couramment utilisés renvoient des probabilités.
amibe

6
Je dirais qu'un algorithme qui prend en compte les observations passées et génère uniquement des classifications sans prendre en compte les points ci-dessus (par exemple, les coûts des mauvaises décisions) confond les aspects statistiques et décisionnels. C'est comme si quelqu'un vous recommandait un type particulier de voiture sans vous demander d'abord si vous souhaitez transporter une petite équipe de baseball, un tas de matériaux de construction ou seulement vous-même. Donc, je dirais aussi qu'un tel algorithme serait une foutaise.
S. Kolassa - Réintégrer Monica

8
J'allais écrire une réponse, mais ce n'était pas nécessaire. Bravo. J'en discute avec mes étudiants comme une "séparation de préoccupations" entre la modélisation statistique et la prise de décision. Ce type de concept est profondément ancré dans la culture de l'ingénierie.
Matthew Drury

8
@chainD: si votre classificateur (souvenez-vous que c'est celui qui a la plus grande précision ) dit que "tout le monde dans cet échantillon est en bonne santé", alors quel médecin ou quel analyste croirait-il qu'il y a plus que l'histoire? Je conviens qu'en fin de compte, c'est un appel à faire de l'analyste, mais "tout le monde est en bonne santé" lui est beaucoup moins utile qu'un élément qui attire l'attention sur une incertitude résiduelle telle que la prédiction à 95% / 5%.
S. Kolassa - Réintégrer Monica

11
La réponse et les commentaires de @StephanKolassa sont superbes. Un autre commentaire a laissé entendre qu'il y a une différence dans la manière dont cela est perçu en fonction de la culture à laquelle vous appartenez. Ce n'est pas vraiment le cas. c'est juste que certains domaines ont pris la peine de comprendre la littérature et d'autres non. Les prévisions météorologiques, par exemple, sont au premier plan et appliquent des règles de notation appropriées pour évaluer la précision des prévisions météo depuis au moins 1951.
Frank Harrell

78

Lorsque nous utilisons la précision, nous attribuons un coût égal aux faux positifs et aux faux négatifs. Lorsque cet ensemble de données est déséquilibré (99% d’instances dans une classe et seulement 1% dans l’autre), il existe un excellent moyen de réduire les coûts. Prédisez que chaque instance appartient à la classe majoritaire, obtenez une précision de 99% et rentrez tôt chez vous.

Le problème commence lorsque les coûts réels que nous affectons à chaque erreur ne sont pas égaux. Si nous traitons avec une maladie rare mais mortelle, le fait de ne pas diagnostiquer la maladie d’un malade est beaucoup plus coûteux que celui d’envoyer une personne en bonne santé à un plus grand nombre de tests.

En général, il n'y a pas de meilleure mesure générale. La meilleure mesure est dérivée de vos besoins. En un sens, ce n’est pas une question d’apprentissage automatique, mais une question d’entreprise. Il est courant que deux personnes utilisent le même ensemble de données mais choisissent des métriques différentes en raison d'objectifs différents.

La précision est une excellente mesure. En fait, la plupart des mesures sont excellentes et j'aime évaluer de nombreuses mesures. Cependant, à un moment donné, vous devrez choisir entre le modèle A ou le modèle B. Vous devez utiliser une seule métrique qui correspond le mieux à vos besoins.

Pour obtenir un crédit supplémentaire, choisissez cette mesure avant l'analyse afin de ne pas vous laisser distraire lors de la prise de décision.


3
Excellente réponse - j'ai proposé quelques modifications dans le seul but d'essayer de clarifier le propos des débutants en apprentissage automatique (à qui s'adresse cette question).
Nekomatic

1
Je ne suis pas d'accord pour dire que ce n'est pas un problème d'apprentissage machine. Mais le résoudre impliquerait un apprentissage automatique du méta-problème et obligerait la machine à accéder à un type de données allant au-delà des informations de classification de base.
Shufflepants

3
Je ne le vois pas uniquement en fonction des données, car différents objectifs peuvent correspondre à différents coûts / modèles / performances / indicateurs. Je conviens qu'en général, la question du coût peut être traitée de manière mathématique. Cependant, des questions telles que le coût du traitement des patients reposent sur des informations totalement différentes. Ces informations nécessaires aux métadonnées ne sont généralement pas adaptées à la méthodologie d’apprentissage automatique, de sorte qu’elles sont généralement traitées avec des méthodes différentes.
DaL

2
Par « misdiagnosing une personne avec la maladie », vous voulez dire « misdiagnosing une personne qui a la maladie (comme ne pas avoir la maladie) », non? Parce que cette phrase pourrait être interprétée dans les deux sens.
Tanner Swett

Vous avez raison Tanner. J'ai changé le test pour le rendre plus clair.
DaL

20

Le problème de la précision

La précision standard est définie comme le rapport entre les classifications correctes et le nombre de classifications effectuées.

accuracy:=correct classificationsnumber of classifications

Il s’agit donc d’une mesure globale pour toutes les classes et, comme nous le verrons bientôt, ce n’est pas une bonne mesure de distinguer un oracle d’un test réellement utile. Un oracle est une fonction de classification qui renvoie une estimation aléatoire pour chaque échantillon. De même, nous voulons pouvoir évaluer les performances de classification de notre fonction de classification. La précision \ textit {peut} être une mesure utile si nous avons le même nombre d’échantillons par classe, mais si nous avons un ensemble déséquilibré d’échantillons, la précision n’est pas utile du tout. Plus encore, un test peut avoir une grande précision mais est moins performant qu’un test avec une précision moindre.

ABC0.9

classify(sample):={Aif 

classify

classify(sample):=guess{Awith p =0.96Bwith p =0.02Cwith p =0.02

0.960.9+0.020.052=0.866Aclassify

Précision par classe

accuracy:=correct/(correct+incorrect)A1.00A0.331.000.00>0.5AABA

Sensibilité et Spécificité

Dans les tests médicaux, la sensibilité est définie comme le rapport entre le nombre de personnes correctement identifiées comme ayant la maladie et le nombre de personnes ayant réellement la maladie. La spécificité est définie comme le rapport entre les personnes correctement identifiées comme étant en bonne santé et le nombre de personnes réellement en bonne santé. Le nombre de personnes atteintes de la maladie est égal au nombre de résultats de test positifs vrais plus le nombre de résultats de tests faussement négatifs. La quantité de personnes réellement en bonne santé est la quantité de résultats de tests véritablement négatifs plus la quantité de résultats de tests faussement positifs.

Classification binaire

PNTnnFnn

sensitivity:=TPTP+FNspecificity:=TNTN+FP

TPFNTNFPαβαTααTα+FβαTβαTβ+FααββTββTβ+FαβTαβTα+Fβ

sensitivityα:=TαTα+Fβspecificityα:=TβTβ+Fαsensitivityβ:=TβTβ+Fαspecificityβ:=TαTα+Fβ

sensitivityα=specificityβspecificityα=sensitivityβ. Cela signifie que si nous n'avons que deux classes, nous n'avons pas besoin de sensibilité et de spécificité par classe.

Classification N-Ary

La sensibilité et la spécificité par classe ne sont pas utiles si nous n’avons que deux classes, mais nous pouvons l’étendre à plusieurs classes. La sensibilité et la spécificité sont définies comme suit:

sensitivity:=true positivestrue positives+false negativesspecificity:=true negativestrue negatives+false-positives

Tni(Fn,i)i(Fi,n)ni(Ti)T(n)nni(k(Fi,k))nni(Fn,i)ni(Fi,n)i(Ti)T(n)+i(k(Fn,i))i(Fn,i)i(Fi,n). En résumé, nous avons:

true positives:=Tntrue negatives:=i(Ti)T(n)+i(k(Fn,i))i(Fn,i)i(Fi,n)false positives:=i(Fi,n)false negatives:=i(Fn,i)

sensitivity(n):=TnTn+i(Fn,i)specificity(n):=i(Ti)Tn+i(k(Fi,k))i(Fn,i)i(Fi,n)i(Ti)Tn+i(k(Fi,k))i(Fn,i)

Introduire la confiance

confidenceTn+i(Fi,n)nTn

confidence(n):=TnTn+i(Fi,n)

confidencenn

i(k(Fi,k))i(Fi,n)+i(Ti)Tni(Fn,i)

confidence(n)=i(k(Fi,k))i(Fi,n)+i(Ti)Tni(Fn,i)i(k(Fi,k))i(Fi,n)+i(Ti)Tn


Pouvez-vous s'il vous plaît fournir un exemple de calcul de la précision moyenne en utilisant une matrice de confusion.
Aadnan Farooq Un

Vous trouverez une description plus détaillée avec des exemples ici: mroman.ch/guides/sensspec.html
mroman

En relisant, il y a une erreur dans la définition de confidence_false. Je suis surpris que personne ne l'ait remarqué. Je vais résoudre ce problème dans les prochains jours.
dimanche

8

Classes déséquilibrées dans votre jeu de données

Pour être bref: imaginez que 99% d’une classe (par exemple, les pommes) et 1% d’une autre classe figurent dans votre ensemble de données (par exemple, les bananes). Mon algorithme super duper obtient une précision étonnante à 99% pour cet ensemble de données, vérifiez-le:

return "it's an apple"

Il aura raison 99% du temps et obtient donc une précision de 99%. Puis-je vous vendre mon algorithme?

Solution: n'utilisez pas une mesure absolue (précision) mais une mesure relative à chaque classe (il en existe beaucoup, comme l'AUC ROC)


Non, la SSC n'est pas non plus appropriée pour un ensemble de données déséquilibré.
SiXUlm

@SiXUlm, pouvez-vous élaborer?
Mayou36

P(D)/P(DC)P(T|D)P(F|DC)

Une illustration plus claire peut être trouvée ici: quora.com/… . Regardez la réponse de Jerry Ma.
SiXUlm

Je ne comprends toujours pas votre point. N'est-ce pas (y compris le Quora) ce que je dis dans la solution et qui appuie exactement ma réponse? Le fait est que les a priori ne doivent pas affecter la métrique qui mesure les performances du réseau. Ce qui est approprié dépend entièrement de votre problème. Par exemple, le mieux est d’optimiser chaque coupe possible . Alors laissez-moi savoir: a) puisque c'est invariant pour les a priori mais sensible à la performance, pourquoi est- ce inapproprié? b) quoi d'autre pensez-vous est approprié ou quelles caractéristiques sont requises?
Mayou36

2

DaL answer est exactement cela. Je vais illustrer cela avec un exemple très simple de ... vente d'oeufs.

21

21

Si votre classificateur ne s'y trompe pas, vous obtenez alors le revenu maximal que vous pouvez espérer. Si ce n'est pas parfait, alors:

  • 1
  • 1

Ensuite, la précision de votre classificateur correspond exactement à votre distance par rapport au revenu maximum. C'est la mesure parfaite.

a

  • a
  • 2a

a=0.00120.001

Si, par exemple, le classificateur cherche à trouver des documents pertinents dans une base de données, vous pouvez comparer "combien" perdent du temps à lire un document non pertinent, par rapport à la recherche d'un document pertinent.


1

La précision de la classification est le nombre de prévisions correctes divisé par le nombre total de prévisions.

L'exactitude peut être trompeuse. Par exemple, dans un problème où le déséquilibre de classe est important, un modèle peut prédire la valeur de la classe majoritaire pour toutes les prédictions et atteindre une précision de classification élevée. Ainsi, d'autres mesures de performance sont nécessaires, telles que le score F1 et le score de Brier.


-3

R2

R2

Comme d'autres l'ont noté, un autre problème de précision est l'indifférence implicite du prix de l'échec, à savoir l'hypothèse selon laquelle toutes les erreurs de classification sont égales. En pratique, ce n'est pas le cas, et le coût d'une mauvaise classification dépend fortement du sujet et vous préférerez peut-être minimiser un type particulier de préjudice plutôt que de maximiser la précision.


2
Fredonner. (1) Je suppose que l’évaluation de l’exactitude ou de toute autre mesure hors échantillon est comprise, aussi je ne vois pas vraiment en quoi l’exactitude pose un problème spécifique de surajustement . (2) si vous appliquez un modèle formé sur la population A à une population différente B, vous comparez des pommes avec des oranges et, encore une fois, je ne vois pas vraiment en quoi ce problème est précis en termes d'exactitude .
S. Kolassa - Réintégrer Monica

(1) C’est néanmoins un problème de précision, et la question concerne l’utilisation de la précision comme référence. (2) L'intérêt de construire un classifieur est de l'utiliser sur les oranges, pas seulement sur les pommes. Il devrait être assez général pour capturer les signaux essentiels dans les données (tels qu'ils existent), plutôt que d'être un catéchisme pour vos données d'entraînement.
James
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.