Comment choisir une métrique d'erreur lors de l'évaluation d'un classificateur?


15

J'ai vu différentes métriques d'erreur utilisées dans les compétitions Kaggle: RMS, moyenne quadratique, AUC, entre autres. Quelle est la règle générale sur le choix d'une métrique d'erreur, c'est-à-dire comment savoir quelle métrique d'erreur utiliser pour un problème donné? Y a-t-il des directives?

Réponses:


12

Le pool de mesures d'erreur que vous pouvez choisir est différent entre la classification et la régression. Dans ce dernier, vous essayez de prédire une valeur continue, et avec la classification, vous prédisez des classes discrètes telles que "sain" ou "pas sain". D'après les exemples que vous avez mentionnés, l'erreur quadratique moyenne serait applicable pour la régression et l'ASC pour la classification avec deux classes.

Permettez-moi de vous donner un peu plus de détails sur la classification. Vous avez mentionné l'AUC comme mesure, qui est l'aire sous la courbe ROC, qui n'est généralement appliqué qu'aux problèmes de classification binaire avec deux classes. Bien qu'il existe des moyens de construire une courbe ROC pour plus de deux classes, ils perdent la simplicité de la courbe ROC pour deux classes. De plus, les courbes ROC ne peuvent être construites que si le classificateur de choix génère une sorte de score associé à chaque prédiction. Par exemple, la régression logistique vous donnera des probabilités pour chacune des deux classes. En plus de leur simplicité, les courbes ROC ont l'avantage de ne pas être affectées par le rapport entre les instances étiquetées positivement et négativement dans vos ensembles de données et ne vous obligent pas à choisir un seuil. Néanmoins, il est recommandé de regarder non seulement la courbe ROC seule, mais également d'autres visualisations. Je recommanderais de regarder les courbes de rappel de précision et les courbes de coût.une vraie mesure d'erreur, ils ont tous leurs forces et leurs faiblesses.

La littérature que j'ai trouvée utile à cet égard est:

Si votre classificateur ne fournit pas de score, vous devez vous rabattre sur les mesures de base qui peuvent être obtenues à partir d'une matrice de confusion contenant le nombre de vrais positifs, faux positifs, vrais négatifs et faux négatifs. Les visualisations mentionnées ci-dessus (ROC, précision-rappel, courbe de coût) sont toutes basées sur ces tableaux obtenus en utilisant un seuil différent du score du classifieur. La mesure la plus populaire dans ce cas est probablement la mesure F1. De plus, il existe une longue liste de mesures que vous pouvez récupérer dans une matrice de confusion: sensibilité, spécificité, valeur prédictive positive, valeur prédictive négative, précision, coefficient de corrélation de Matthews,… Tout comme les courbes ROC, les matrices de confusion sont très faciles à comprendre dans le problème de classification binaire, mais devient plus compliqué avec plusieurs classes, car pour classes, vous devez considérer soit une seule table ou tables chacune comparant l'une des classes ( ) avec toutes les autres classes (pas ).NN×NN 2×2UNEUNE


1
NN×NN 2×2

Merci beaucoup d'avoir signalé cette erreur, je l'ai corrigée dans la réponse ci-dessus.
sepp du

5

Permettez-moi d'ajouter quelques réflexions aux réponses déjà existantes.

  • la plupart des classificateurs ont en fait un score continu intermédiaire, auquel est généralement appliqué un seuil d'attribution des classes dures (en dessous de t: classe a, au-dessus: classe b). La variation de ce seuil donne le ROC.
  • En général, ce n'est pas une bonne idée de compresser une telle courbe en un seul nombre. voir par exemple le cas contre l'estimation de la précision pour comparer les algorithmes d'induction.
    Il existe de nombreux ROC différents qui ont la même AUC, et l'utilité peut varier considérablement pour une application donnée.
  • l'inverse: le choix du seuil peut être à peu près déterminé par l'application que vous avez.
  • Vous n'avez pas besoin de regarder les performances du classificateur en dehors de ces limites et si vous choisissez une métrique, celle-ci devrait au moins résumer uniquement la plage pertinente des autres métriques bornées.
  • selon la conception de votre étude, la fraction globale d'échantillons correctement ou mal classés peut être un résumé approprié ou non, et les conclusions que vous pouvez en tirer dépendront également de la conception de l'étude: vos données de test reflètent-elles les probabilités antérieures (prévalence) de la Des classes? Pour la population sur laquelle votre classificateur est censé être utilisé? A-t-il été collecté de manière stratifiée? Ceci est étroitement lié au fait que la plupart des utilisateurs d'un classificateur sont plus intéressés par les valeurs prédictives, mais la sensibilité et la spécificité sont beaucoup plus faciles à mesurer.

  • Vous posez des questions sur les directives générales. Une règle générale est que vous devez savoir

    • de quel type de performance vous avez besoin (sensibilité, spécificité, valeurs prédictives, etc. répondez à des questions spécifiques sur le comportement de votre classificateur, voir ce que j'ai écrit ici ).
    • Quelles plages de travail acceptables pour ces caractéristiques de performances pour votre application?.
      Ceux-ci peuvent varier considérablement: vous pouvez accepter certains faux négatifs dans la détection du spam, mais ce ne serait pas une configuration acceptable pour le diagnostic du VIH ...

Je pense que vous ne pourrez pas trouver une mesure utile à moins que vous ne puissiez répondre à ces questions.

C'est un peu comme s'il n'y avait pas de déjeuner gratuit dans la validation du classificateur non plus.


2

Le taux d'erreur d'erreur de classification attendu est la méthode que j'ai utilisée et vue le plus souvent. L'AUC du ROC est une mesure d'un ensemble de règles de classification. Si l'idée est de comparer un classificateur spécifique avec un autre, l'ASC n'est pas appropriée. Une certaine forme d'erreur de classification est la plus logique car elle représente le plus directement les performances de la règle de classification.

Beaucoup de travail a été fait pour trouver de bonnes estimations du taux d'erreur de classification en raison du biais important de l'estimation de la resubstitution et de la variance élevée des abandons. Les estimateurs bootstrap et lisses ont été concis. Voir par exemple l'article d'Efron dans JASA 1983 sur les améliorations du bootstrap par rapport à la validation croisée.

Voici un rapport technique de 1995 de l'Université de Stanford par Efron et Tibshirami résumant la littérature, y compris certains de mes propres travaux.


La comparaison des performances de deux classificateurs sur le même ensemble de données est un autre sujet de discussion. En particulier, dans le cas du ROC et de l'AUC, il existe deux méthodes pour comparer les courbes ROC dans leur ensemble ou les estimations de l'ASC. Ce sont essentiellement des tests statistiques avec l'hypothèse nulle que le ROC / AUC ne diffère pas. La validation croisée contre le bootstrap est un autre sujet intéressant, j'ai récemment vu un article ( dx.doi.org/10.1016/j.csda.2010.03.004 ) à ce sujet. Je suppose que si vous considérez tous les aspects à la fois, cela peut devenir assez intimidant.
sepp
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.