Rappel et précision dans la classification

40

J'ai lu des définitions de rappel et de précision, bien que ce soit chaque fois dans le contexte de la recherche d'informations. Je me demandais si quelqu'un pourrait expliquer cela un peu plus dans un contexte de classification et peut-être illustrer quelques exemples. Disons par exemple que j'ai un classificateur binaire qui me donne une précision de 60% et un rappel de 95%, est-ce un bon classificateur?

Peut-être pour aider un peu plus mon objectif, quel est le meilleur classificateur selon vous? (l'ensemble de données est déséquilibré. La classe majoritaire a deux fois plus d'exemples que la classe minoritaire)

Personnellement, je dirais 5 à cause de la zone située sous la courbe de l'opérateur du récepteur.

(comme vous pouvez le voir ici, le modèle 8 a une faible précision, un rappel très élevé, mais l’un des plus bas AUC_ROC, en fait-il un bon modèle? ou un mauvais modèle?)

entrez la description de l'image ici


modifier:

J'ai un fichier Excel avec plus d'informations: https://www.dropbox.com/s/6hq7ew5qpztwbo8/comparissoninbalance.xlsx

Dans ce document, l’aire sous la courbe d’opérateur récepteur et l’aire sous la courbe de rappel de précision peuvent être trouvées. Ensemble avec les parcelles.

Olivier_s_j
la source
6
Pourquoi le vote négatif? Cela semble être une question intéressante (certainement plusieurs personnes ont pensé possible de répondre).
Gala
Combien de cas tests ont été impliqués dans le calcul des mesures de performance? De même, si vous comparez plusieurs classificateurs sur le même ensemble de données, vous pouvez utiliser un modèle couplé (plusieurs questions et réponses se trouvent autour du CV pour discuter de la comparaison de classificateurs).
cbeleites soutient Monica
J'ai 799 échantillons (si c'est ce que vous entendez par test). Chaque fois que je divise les données en 10 sous-ensembles. 1 sous-ensemble pour tester les classificateurs et le reste pour former les classificateurs (les classificateurs comparés sont formés sur les mêmes données).
Olivier_s_j
Les classificateurs génèrent-ils une valeur binaire ou une valeur réelle, puis utilisent-ils un seuil pour la rendre binaire?
Galath
Ils produisent une sortie binaire.
Olivier_s_j

Réponses:

40

Que le classificateur soit «bon» dépend vraiment de

  1. Quoi d'autre est disponible pour votre problème particulier. Évidemment, vous voulez qu'un classificateur soit meilleur que des suppositions aléatoires ou naïves (par exemple, tout classer comme appartenant à la catégorie la plus courante), mais certaines choses sont plus faciles à classer que d'autres.
  2. Le coût de différentes erreurs (fausse alarme ou faux négatifs) et le taux de base. Il est très important de distinguer les deux et d’en déterminer les conséquences, car il est possible d’avoir un classificateur très précis (classifications correctes sur un échantillon à tester), ce qui est totalement inutile en pratique (par exemple, vous essayez de détecter une maladie rare ou une maladie rare). comportement malicieux inhabituel et projet de prendre des mesures dès la détection; les tests à grande échelle coûtent quelque chose et les mesures correctives / traitements impliquent également des risques / coûts importants, de sorte que la plupart des résultats sont faux et positifs, du point de vue des coûts et des avantages, pourrait être mieux de ne rien faire).

Pour comprendre le lien entre rappel / précision d'une part et sensibilité / spécificité d'autre part, il est utile de revenir à une matrice de confusion:

                      Condition: A             Not A

  Test says “A”       True positive (TP)   |   False positive (FP)
                      ----------------------------------
  Test says “Not A”   False negative (FN)  |    True negative (TN)

Rappel est TP / (TP + FN) alors que précision est TP / (TP + FP). Cela reflète la nature du problème: lors de la récupération des informations, vous souhaitez identifier autant de documents pertinents que possible (rappelez-vous) et évitez d'avoir à trier les fichiers indésirables (précision).

En utilisant le même tableau, les métriques de classification traditionnelles sont (1) la sensibilité définie en tant que spécificité TP / (TP + FN) et (2) définie en tant que TN / (FP + TN). Donc, rappel et sensibilité sont simplement synonymes, mais précision et spécificité sont définies différemment (tout comme rappel et sensibilité, la spécificité est définie par rapport au total de la colonne, alors que la précision se rapporte au total de la ligne). La précision est aussi parfois appelée «valeur prédictive positive» ou, rarement, «taux de faux positifs» (mais voir ma réponse à Relation entre vrai positif, faux positif, faux négatif et vrai négatif concernant la confusion entourant cette définition du faux positif). taux).

Fait intéressant, les métriques d'extraction d'informations n'impliquent pas le nombre «vrai négatif». Cela a du sens: dans la recherche d’informations, vous ne vous souciez pas de classer correctement les instances négatives en tant que telles , vous ne voulez tout simplement pas qu’elles polluent vos résultats (voir aussi Pourquoi ne se souvient-il pas de prendre en compte les vraies négatives? ).

En raison de cette différence, il est impossible de passer de la spécificité à la précision ou l'inverse sans informations supplémentaires, à savoir le nombre de véritables négatifs ou, au contraire, la proportion globale de cas positifs et négatifs. Cependant, pour le même corpus / ensemble de tests, une spécificité plus élevée signifie toujours une précision accrue, de sorte qu'ils sont étroitement liés.

Dans un contexte de récupération d'informations, l'objectif consiste généralement à identifier un petit nombre de correspondances à partir d'un grand nombre de documents. En raison de cette asymétrie, il est en effet beaucoup plus difficile d'obtenir une bonne précision qu'une bonne spécificité tout en maintenant la sensibilité / rappel constant. Étant donné que la plupart des documents ne sont pas pertinents, les fausses alarmes sont plus fréquentes que les vraies alarmes et ces fausses alarmes peuvent submerger les résultats exacts, même si le classificateur a une précision impressionnante sur un jeu de test équilibré (c'est en fait ce qui se passe dans les scénarios I mentionné dans mon point 2 ci-dessus). Par conséquent, vous devez vraiment optimiser la précision et non pas simplement assurer une spécificité décente, car même des taux aussi impressionnants que 99% ou plus ne suffisent parfois pas pour éviter de nombreuses fausses alarmes.

Il y a généralement un compromis entre sensibilité et spécificité (ou rappel et précision). Intuitivement, si vous utilisez un réseau plus large, vous détecterez des documents plus pertinents / des cas positifs (sensibilité plus élevée / rappel), mais vous obtiendrez également davantage de fausses alarmes (spécificité et précision plus faibles). Si vous rangez tout dans la catégorie positive, vous avez 100% de rappel / sensibilité, une mauvaise précision et un classificateur pratiquement inutile («surtout», car si vous ne possédez aucune autre information, il est parfaitement raisonnable de supposer que cela ne va pas pleuvoir dans un désert et agir en conséquence, alors peut-être que la sortie n’est pas inutile après tout; bien sûr, vous n’avez pas besoin d’un modèle sophistiqué pour cela).

Compte tenu de tout cela, la précision à 60% et le rappel à 95% ne sonnent pas trop mal, mais encore une fois, cela dépend vraiment du domaine et de ce que vous avez l'intention de faire avec ce classificateur.


Quelques informations supplémentaires concernant les derniers commentaires / modifications:

Là encore, la performance attendue dépend des détails (dans ce contexte, il s’agit de l’ensemble exact des émotions présentes dans l’entraînement, de la qualité de la photo / vidéo, de la luminosité, de l’occlusion, des mouvements de la tête, des vidéos jouées ou spontanées, personne dépendante ou modèle indépendant, etc.), mais F1 sur .7 semble bon pour ce type d’application même si les meilleurs modèles peuvent mieux fonctionner avec certains ensembles de données [voir Valstar, MF, Mehu, M., Jiang, B., Pantic, M. et Scherer, K. (2012). Méta-analyse du premier défi de reconnaissance d'expression faciale. Transactions IEEE sur les systèmes, l'homme et la cybernétique, partie B: Cybernétique, 42 (4), 966-979.]

La question de savoir si un tel modèle est utile dans la pratique est une question complètement différente et dépend évidemment de l'application. Notez que «l'expression» faciale est en soi un sujet complexe et qu'il n'est pas facile de passer d'un ensemble d'apprentissage typique (expressions posées) à une situation réelle. Ceci est plutôt hors sujet sur ce forum, mais cela aura de graves conséquences pour toute application pratique que vous pourriez envisager.

Enfin, la comparaison directe entre modèles est une autre question. Mon opinion sur les chiffres que vous avez présentés est qu'il n'y a pas de différence spectaculaire entre les modèles (si vous vous référez à l'article que j'ai cité ci-dessus, la fourchette des scores F1 des modèles bien connus dans ce domaine est beaucoup plus large). En pratique, des aspects techniques (simplicité / disponibilité de bibliothèques standard, rapidité des différentes techniques, etc.) détermineraient probablement le modèle mis en œuvre, sauf peut-être si les coûts / avantages et le tarif global vous incitent fortement à privilégier la précision ou le rappel.

Gala
la source
Mon classificateur classe les visages en émotions positives ou négatives. J'ai exécuté quelques algorithmes de classification avec une validation croisée par 10 et j'obtiens même parfois 100% de rappel, même si la précision est presque la même pour tous les classificateurs (environ 65%). Je travaille avec un ensemble de données déséquilibré (la classe majoritaire a deux fois plus d'échantillons que la classe minoritaire). Je pensais donc que cela voulait probablement dire que mes modèles n’apprenaient pas le motif.
Olivier_s_j
1
@Gala: Quelle est la différence entre une "fausse alarme" et un "faux négatif"? Voulez-vous dire une "fausse alerte" et un "faux positif"?
Matt O'Brien
@ MattO'Brien Une fausse alarme est un faux positif (le système dit «Méfiez-vous! Peut-être que la terminologie est un peu déroutante, je vais examiner la réponse plus tard.
Gala
@Ojtwist Si la probabilité antérieure est positive de 67%, vous pouvez obtenir un rappel de 100% et une précision d'environ 67% en prédisant que tout est positif.
Mark
21

Dans le contexte de la classification binaire, les exemples sont positifs ou négatifs.

  • Le rappel porte sur la question suivante: "Dans un exemple positif, le classificateur le détectera-t-il?"
  • La précision répond à la question: "Compte tenu d'une prévision positive du classificateur, quelle est la probabilité qu'elle soit correcte?"

Donc, cela dépend si l'accent est mis sur des exemples positifs ou sur des prédictions positives.

On pourrait dire "lors d'un rappel d'au moins 90%, le classificateur avec la plus grande précision est 4." Mais si ce qui compte, c’est la qualité des prévisions, parmi les classificateurs avec une précision d’au moins 70%, celui qui obtient le rappel le plus élevé est 6.

galath
la source
6

Passer des prédictions continues, utilisées dans le calcul de la zone ROC (probabilité de concordance; indice c), à une règle de notation discontinue et irrégulière (précision de la classification à choix forcé) donne lieu à toutes sortes d’anomalies et induira l’analyste en erreur de le laisser choisir les mauvais prédicteurs et / ou ou le mauvais modèle. Il est bien préférable de prendre des décisions sur la base de règles de notation appropriées (par exemple, règle de notation log-vraisemblance / déviance / probabilité logarithmique; score de Brier (score de précision de probabilité quadratique)). Parmi les nombreux avantages d'une telle approche, on trouve l'identification des observations pour lesquelles la classification est dangereuse pour la santé en raison de l'incertitude liée aux probabilités à la moyenne.

Frank Harrell
la source
Ces règles de notation ne sont-elles pas applicables uniquement lorsque le modèle donne des résultats probabilistes?
Olivier_s_j
3
Vous avez mentionné l'AUC ROC qui nécessite des sorties probabilistes (ou quelque chose qui est une fonction monotone de la même chose). Les meilleures méthodes prédictives ont des probabilités sous le capot.
Frank Harrell
XyY
Le problème de l’utilisation de mesures d’exactitude de la classification ROC et non "à choix forcé" est qu’elles ne veulent en réalité rien dire dans le contexte d’une application où il faut choisir un seuil en fonction d’une analyse de rentabilisation. Par exemple, dans un produit de détection de la criminalité financière destiné aux banques d'investissement, une entreprise peut disposer des ressources humaines pour enquêter sur 100 classifications par an, ce qui induit un seuil fixe contre lequel il convient d'optimiser. Gini, la zone ROC, etc. ne vous diront pas quelle est la qualité du modèle à ce seuil. ...
Samthebest
2
Il est très raisonnable d'imposer une limite budgétaire au nombre d'enquêtes. Cela ne nécessite aucun seuil, aucune nouvelle optimisation, aucune classification et aucune analyse ROC. On trie simplement les observations dans l'ordre décroissant du risque prédit et choisit les 100 premières observations à étudier. Ceci est lié à une courbe de levage utilisée dans le marketing.
Frank Harrell
5

Ni précision ni rappel ne racontent toute l'histoire, et il est difficile de comparer un prédicteur avec, par exemple, 90% de rappel et 60% de précision avec un prédicteur avec, par exemple, une précision de 85% et 65% de rappel - à moins, bien sûr, que vous ayez coût / bénéfice associé à chacune des 4 cellules (tp / fp / tn / fn) de la matrice de confusion .

Un moyen intéressant d'obtenir un nombre unique ( compétence , ou coefficient d'incertitude ) décrivant la performance du classifieur consiste à utiliser la théorie de l'information :

proficiency = I(predicted,actual) / H(actual)

c'est-à-dire qu'il vous indique quelle fraction de l'information présente dans les données réelles a été récupérée par le classificateur. Il vaut 0 si précision ou rappel vaut 0 et 100% si (et seulement si) précision et rappel valent 100%. En cela, il est similaire au score F1 , mais la compétence a une signification théorique claire, alors que F1 n’est qu’une moyenne harmonique de deux nombres ayant une signification.

Vous pouvez trouver du papier, une présentation et du code (Python) pour calculer la métrique de compétence ici: https://github.com/Magnetic/proficiency-metric

sds
la source
intéressant! pouvez-vous nous donner un exemple de calcul de compétence? parce que la formule me semble étrange.
Seul
Les commentaires ne sont pas pour une discussion prolongée; cette conversation a été déplacée pour discuter .
Scortchi - Réintégrer Monica