Comparer les classificateurs basés sur AUROC ou la précision?

11

J'ai un problème de classification binaire et j'expérimente différents classificateurs dessus: je veux comparer les classificateurs. lequel est une meilleure mesure de l'ASC ou de la précision? Et pourquoi?

Raondom Forest: AUC: 0.828  Accuracy: 79.6667 %
           SVM: AUC: 0.542  Accuracy: 85.6667 %
Sina
la source

Réponses:

13

La proportion correctement classée est une règle de notation incorrecte, c'est-à-dire qu'elle est optimisée par un modèle bidon. J'utiliserais la règle de notation quadratique appropriée connue sous le nom de score de Brier, ou la probabilité de concordance (aire sous la courbe ROC dans le cas binaire ). La forêt aléatoire fonctionne mieux que SVM dans votre cas.Y

Frank Harrell
la source
Si pour le sujet de votre échantillon est le résultat binaire observé et est la probabilité prédite de '1' alors le score de Brier est (si je me souviens bien) . Comme l'OP a un problème de classification binaire, les sont connus, mais comment calculer pour SVM? ioi{0,1}f^iB=1ni=1n(f^ioi)2oif^i
@fcop Il existe un moyen de transformer une prédiction de classification binaire d'un SVM en une probabilité, appelée Platt Scaling ( en.wikipedia.org/wiki/Platt_scaling ). Essentiellement, plutôt que de calculer la classification SVM ( ou ) comme , où est la solution à la programmation quadratique convexe SVM problème, la mise à l'échelle de Platt prend une transformation logistique de : où et sont des paramètres déterminés par l'algorithme de mise à l'échelle de Platt. y^i=+11y^i=sign(g(yi,xi))g(yi,xi)g(yi,xi) ABf^i=P(Y=1|xi)=11+exp(A×g(yi,xi)+B)AB
RobertF
8

Je pense que vous devriez certainement examiner plus de mesures que l'ASC et la précision.

La précision (ainsi que la sensibilité et la spécificité) est une métrique très simple mais biaisée qui vous oblige à regarder le résultat de prédiction absolu et ne vous permet pas d'affirmer les probabilités de classe ou le classement. Il ne prend pas non plus en compte la population qui invite à une mauvaise interprétation car un modèle donnant une précision de 95% sur une population avec 95% de chance d'être correct au hasard n'est pas vraiment un bon modèle, même si la précision est élevée.

L'ASC est une bonne mesure pour affirmer la précision du modèle qui est indépendante des probabilités de classe de population. Cependant, cela ne vous dira rien sur la qualité réelle des estimations de probabilité. Vous pourriez obtenir une ASC élevée mais avoir des estimations de probabilité très biaisées. Cette métrique est plus discriminante que la précision et vous donnera certainement de meilleurs modèles lorsqu'elle est utilisée en combinaison avec une règle de notation appropriée, par exemple le score de Brier comme mentionné dans un autre article.

Vous pouvez obtenir une preuve plus formelle ici, bien que cet article soit assez théorique: l' AUC: une mesure statistiquement cohérente et plus discriminante que la précision

Il existe cependant un tas de bonnes mesures disponibles. Fonctions de perte pour l'estimation et la classi fi cation des probabilités des classes binaires: structure et applications est un bon article qui étudie les règles de notation appropriées telles que le score de Brier.

Un autre article intéressant avec des métriques pour l'affirmation de la performance du modèle est l' évaluation: de la précision, du rappel et de la mesure F au ROC, la connaissance, la netteté et la corrélation reprenant d'autres bonnes mesures de performance telles que la connaissance.

Pour résumer, je recommanderais de regarder les scores AUC / Gini et Brier pour affirmer les performances de votre modèle, mais selon l'objectif avec votre modèle, d'autres mesures pourraient mieux convenir à votre problème.

tandis que
la source
Le lien pour l'évaluation: de la précision, du rappel et de la mesure F au ROC, la connaissance, la netteté et la corrélation sont mortes
vonjd
Si pour le sujet de votre échantillon est le résultat binaire observé et est la probabilité prédite de '1' alors le score de Brier est (si je me souviens bien) . Comme l'OP a un problème de classification binaire, les sont connus, mais comment calculer pour SVM? o i{ 0 , 1 } f i B = 1ioi{0,1}f^ioi f iB=1ni=1n(f^ioi)2oif^i
Aucun brierscore n'est pas idéal pour les méthodes qui ne vous donnent qu'un résultat et non une probabilité. Niether est aux enchères, car cela vous dira à quel point vous classez vos prédictions. Avec seulement des résultats, vous n'obtiendrez qu'un point dans l'espace ROC, ce qui vous donnera l'aire sous la courbe sera le triangle. Mais cela vous donnera toujours un numéro et le brierscore le fera, même s'il se transformera plus ou moins en perte 0-1. Si vous n'avez que des résultats, je vous suggère de regarder Precision, Recall et Cohen's Kappa qui sont des mesures conçues pour obtenir des résultats.
alors que