Kappa de Cohen en anglais clair

131

Je lis un livre de data mining qui mentionnait la statistique Kappa comme moyen d’évaluer les performances de prévision des classificateurs. Cependant, je ne peux tout simplement pas comprendre cela. J'ai aussi vérifié Wikipedia mais cela n'a pas aidé aussi: https://en.wikipedia.org/wiki/Cohen's_kappa .

Comment le kappa de Cohen aide-t-il à évaluer les performances de prévision des classificateurs? Que dit-il?

Je comprends que 100% kappa signifie que le classificateur est totalement en accord avec un classificateur aléatoire, mais je ne comprends pas en quoi cela aide-t-il à évaluer les performances du classificateur?

Que signifie 40% de kappa? Cela signifie-t-il que dans 40% des cas, le classificateur est en accord avec le classificateur aléatoire? Si oui, qu'est-ce que cela me dit ou m'aide à évaluer le classificateur?

Jack Twain
la source

Réponses:

226

introduction

La statistique Kappa (ou valeur) est une métrique qui compare une précision observée à une précision attendue (hasard). La statistique kappa est utilisée non seulement pour évaluer un classificateur unique, mais également pour évaluer les classificateurs entre eux. En outre, il prend en compte le hasard (accord avec un classificateur aléatoire), ce qui signifie généralement qu'il est moins trompeur que de simplement utiliser l'exactitude comme métrique (une précision observée de 80% est beaucoup moins impressionnante avec une précision attendue de 75% par rapport à une précision attendue de 50%). Calcul de l' exactitude observée et de l' exactitude attenduefait partie intégrante de la compréhension de la statistique kappa et est plus facilement illustrée par l’utilisation d’une matrice de confusion. Commençons par une matrice de confusion simple tirée d’une classification binaire simple de Chats et Chiens :

Calcul

     Cats Dogs
Cats| 10 | 7  |
Dogs| 5  | 8  |

Supposons qu'un modèle a été construit à l'aide d'un apprentissage automatique supervisé sur des données étiquetées. Cela ne doit pas toujours être le cas; la statistique kappa est souvent utilisée comme mesure de fiabilité entre deux évaluateurs humains. Quoi qu'il en soit, les colonnes correspondent à un "évaluateur" tandis que les lignes correspondent à un autre "évaluateur". Dans l'apprentissage automatique supervisé, un "évaluateur" reflète la vérité du sol (les valeurs réelles de chaque instance à classer), obtenue à partir de données étiquetées, et l'autre "évaluateur" est le classificateur d'apprentissage automatique utilisé pour effectuer la classification. En fin de compte, peu importe qui calcule la statistique kappa, mais pour plus de clarté ' classifications.

La matrice de confusion indique 30 instances au total (10 + 7 + 5 + 8 = 30). Selon la première colonne, 15 ont été étiquetés comme étant des chats (10 + 5 = 15), et selon la deuxième colonne, 15 ont été étiquetés comme des chiens (7 + 8 = 15). Nous pouvons également constater que le modèle a classifié 17 instances en tant que chats (10 + 7 = 17) et 13 instances en tant que chiens (5 + 8 = 13).

L’exactitude observée est simplement le nombre d’instances classées correctement dans l’ensemble de la matrice de confusion, c’est-à-dire le nombre d’instances étiquetées comme Chats via la vérité au sol , puis classées comme Chats par le classificateur d’apprentissage automatique , ou étiquetées comme Chiens via la vérité et le sol . puis classifié comme Chiens par le classifieur d'apprentissage automatique . Pour calculer la précision observée , nous ajoutons simplement le nombre d'instances approuvées par le classifieur d'apprentissage automatique avec la vérité au sol.étiquette, et diviser par le nombre total d'instances. Pour cette matrice de confusion, ce serait 0.6 ((10 + 8) / 30 = 0.6).

Avant d’en arriver à l’équation de la statistique kappa, une autre valeur est nécessaire: la précision attendue . Cette valeur est définie comme la précision que tout classifieur aléatoire devrait obtenir sur la base de la matrice de confusion. L' exactitude attendue est directement liée au nombre d'instances de chaque classe ( chats et chiens ), ainsi qu'au nombre d'instances dans lesquelles le classificateur d'apprentissage automatique a accepté l' étiquette de vérité au sol . Pour calculer l' exactitude attendue pour notre matrice de confusion, il faut tout d'abord multiplier la fréquence marginale des chats pour un "évaluateur" par la fréquence marginale deChats pour le deuxième "évaluateur", et divisez par le nombre total d'instances. La fréquence marginale pour une certaine classe par un certain "évaluateur" est simplement la somme de tous les cas où le "évaluateur" indiqué correspond à cette classe. Dans notre cas, 15 (10 + 5 = 15) instances ont été étiquetées comme étant des chats selon la vérité sur le terrain et 17 (10 + 7 = 17) instances ont été classées comme des chats par le classifieur d'apprentissage automatique . Cela donne une valeur de 8,5 (15 * 17/30 = 8,5). Ceci est également effectué pour la deuxième classe (et peut être répété pour chaque classe supplémentaire s'il y en a plus de 2). 15(7 + 8 = 15) instances ont été étiquetées comme Chiens selon la vérité au sol , et 13 (8 + 5 = 13) instances ont été classées comme Chiens par le classifieur d'apprentissage automatique . Cela donne une valeur de 6,5 (15 * 13/30 = 6,5). La dernière étape consiste à additionner toutes ces valeurs et à diviser à nouveau par le nombre total d'instances, ce qui donne une précision attendue de 0.5 ((8.5 + 6.5) / 30 = 0.5). Dans notre exemple, la précision attendue avéré être 50%, comme toujours le cas lorsque l' « noteur » classe chaque classe avec la même fréquence dans une classification binaire (les chatset Dogs contenait 15 instances selon les étiquettes de vérité de terrain dans notre matrice de confusion).

La statistique kappa peut ensuite être calculée en utilisant à la fois l' exactitude observée ( 0,60 ) et l' exactitude attendue ( 0,50 ) et la formule:

Kappa = (observed accuracy - expected accuracy)/(1 - expected accuracy)

Donc, dans notre cas, la statistique kappa est égale à: (0,60 - 0,50) / (1 - 0,50) = 0,20.

Autre exemple, voici une matrice de confusion moins équilibrée et les calculs correspondants:

     Cats Dogs
Cats| 22 | 9  |
Dogs| 7  | 13 |

Vérité: Chats (29), Chiens (22)
Classificateur d’apprentissage automatique: Chats (31), Chiens (20)
Total: (51)
Précision observée: ((22 + 13) / 51) = 0,69
Précision attendue: ((29 * 31/51) + (22 * 20/51)) / 51 = 0,51
Kappa: (0,69 - 0,51) / (1 - 0,51) = 0,37

En substance, la statistique kappa est une mesure du degré de correspondance des instances classées par le classifieur d'apprentissage automatique avec les données qualifiées de vérité du sol , en contrôlant la précision d'un classifieur aléatoire mesurée par la précision attendue. Non seulement cette statistique kappa peut-elle éclairer le comportement du classificateur lui-même, mais elle est directement comparable à la statistique kappa de tout autre modèle utilisé pour la même tâche de classification.

Interprétation

Il n'y a pas d'interprétation standardisée de la statistique kappa. Selon Wikipedia (citant leur article), Landis et Koch considèrent que 0-0.20 est léger, 0.21-0.40 est juste, 0.41-0.60 est modéré, 0.61-0.80 est substantiel et 0.81-1 presque parfait. Fleiss considère que les kappas> 0,75 sont excellents, que 0,40-0,75 est passable à bon et que <0,40 est médiocre. Il est important de noter que les deux échelles sont quelque peu arbitraires. Au moins deux autres considérations doivent être prises en compte lors de l'interprétation de la statistique kappa. Premièrement, la statistique kappa devrait toujours être comparée à une matrice de confusion accompagnée, si possible, pour obtenir une interprétation la plus précise possible. Considérez la matrice de confusion suivante:

     Cats Dogs
Cats| 60 | 125 |
Dogs| 5  | 5000|

La statistique kappa est de 0,47, bien au-dessus du seuil de modéré selon Landis et Koch et passable pour Fleiss. Cependant, notez le taux de réussite pour la classification des chats . Moins du tiers de tous les chats ont été classés comme chats ; les autres ont tous été classés comme chiens . Si nous attachons plus d'importance à la classification correcte des chats (disons, nous sommes allergiques aux chats mais pas aux chiens , et tout ce qui nous intéresse est de ne pas succomber aux allergies au lieu de maximiser le nombre d'animaux que nous accueillons), puis un classificateur avec une valeur inférieure. kappa mais un meilleur taux de classification des chats pourrait être plus idéal.

Deuxièmement, les valeurs statistiques kappa acceptables varient en fonction du contexte. Par exemple, dans de nombreuses études de fiabilité inter-évaluateurs présentant des comportements facilement observables, les valeurs statistiques kappa inférieures à 0,70 peuvent être considérées comme faibles. Cependant, dans les études utilisant l'apprentissage automatique pour explorer des phénomènes non observables tels que des états cognitifs tels que le rêve éveillé, des valeurs statistiques kappa supérieures à 0,40 pourraient être considérées comme exceptionnelles.

Donc, en réponse à votre question sur un 0,40 kappa, cela dépend. Si rien d'autre ne signifie que cela signifie que le classificateur a atteint un taux de classement de 2/5 entre la précision attendue et la précision de 100%. Si la précision attendue était de 80%, cela signifie que le classificateur a effectué 40% (car le kappa est 0,4) de 20% (car il s’agit de la distance entre 80% et 100%) supérieur à 80% (car il s’agit d’un kappa de 0, ou hasard), ou 88%. Ainsi, dans ce cas, chaque augmentation de kappa de 0,10 indique une augmentation de 2% de la précision de la classification. Si la précision était plutôt de 50%, un kappa de 0,4 signifierait que le classifieur fonctionnait avec une précision de 40% (kappa de 0,4) de 50% (distance entre 50% et 100%) supérieure à 50% (car il s'agit d'une kappa de 0 ou hasard) ou 70%. Encore une fois, dans ce cas, cela signifie qu’une augmentation de kappa de 0.

Les classificateurs construits et évalués sur des ensembles de données de différentes distributions de classes peuvent être comparés de manière plus fiable grâce à la statistique kappa (plutôt que d'utiliser simplement la précision) en raison de cette mise à l'échelle par rapport à la précision attendue. Cela donne un meilleur indicateur de la façon dont le classificateur a fonctionné dans toutes les instances, car une simple précision peut être faussée si la distribution de la classe est pareillement faussée. Comme mentionné précédemment, une précision de 80% est beaucoup plus impressionnante avec une précision attendue de 50% par rapport à une précision attendue de 75%. La précision attendue, telle que détaillée ci-dessus, est susceptible aux distributions de classes asymétriques. Par conséquent, en contrôlant la précision attendue via la statistique kappa, nous permettons aux modèles de distributions de classes différentes d'être plus facilement comparés.

C'est à peu près tout ce que j'ai. Si quelqu'un remarque quelque chose qui a été laissé de côté, quelque chose d'incorrect ou si quelque chose n'est pas encore clair, merci de me le faire savoir afin que je puisse améliorer la réponse.

Références que j'ai trouvées utiles:

Inclut une description succincte de kappa: http://standardwisdom.com/softwarejournal/2011/12/confusion-matrix-another-single-value-metric-kappa-statistic/

Inclut une description du calcul de la précision attendue: http://epiville.ccnmtl.columbia.edu/popup/how_to_calculate_kappa.html

rbx
la source
1
Ajoutant quelques informations de base sur la raison pour laquelle la fréquence attendue d’une cellule est égale à rowum * colsum / N, car il s’agit de la version réduite et pourquoi l’équation n’est pas évidente au début. Ceci est également utilisé dans les tests du Chi-Square: en.wikipedia.org/wiki/…
Zhubarb
2
C'est une excellente réponse, mais je me demande si vous pourriez nous éclairer davantage (ou créer des liens!) sur la manière dont une classe très dominante peut affecter l'interprétation du kappa. Par exemple, j'ai une matrice de conf de 7 classes d'occupation du sol et l'une d'entre elles est dominante (~ 70% de toutes les données). Je présume que cela «dilue» l'erreur globale?
Sam
2
Juste un commentaire au hasard: votre description est bien plus claire que la page Wikipedia :)
R.Falque
1
Pour la précision attendue, notez qu'il peut être plus simple de penser comme suit: (15/30) est la proportion attendue de fois où la "vérité au sol" classe quelque chose comme un chat, et (15/30) est la proportion attendue de fois "vérité sur le terrain" classe quelque chose d'un chien. De même, pour le classificateur ML (17/30) proportion attendue de chats, (13/30) proportion attendue de chiens. Supposons des classificateurs non corrélés, alors nous avons le pourcentage de temps que les classificateurs acceptent par hasard comme (15/30) * (17/30) + (15/30) * (13/30) = .5 (soit ils sont d’accord et sont classés comme chien ou comme chat). Par conséquent, 0,5 heure d’accord est par hasard.
ClownInTheMoon
1
Eh bien, la comparaison des annotateurs est bien l’intention initiale. Cependant, l’histoire scientifique est jonchée de cas où une formule ou une autre est sortie de son bassin de frai et a transformé le monde en un monde meilleur. Cela dit, il existe probablement de meilleures mesures à utiliser, selon votre cas. Vous devez comprendre les forces et les faiblesses des indicateurs de candidats avant de prendre une décision finale. AUPRC pourrait être une meilleure méthode pour certains cas, par exemple.
Rbx
14

rbx a une excellente réponse. Cependant, c'est un peu bavard. Voici mon résumé et mon intuition derrière la métrique Kappa.


Le kappa est une mesure importante des performances du classificateur, en particulier des jeux de données non équilibrés .

Par exemple, dans la détection de fraude par carte de crédit, la distribution marginale de la variable de réponse est fortement asymétrique, ce qui rend inutile l’utilisation de la précision comme mesure. En d'autres termes, pour un exemple de détection de fraude donné, 99,9% des transactions seront des transactions sans fraude. Nous pouvons avoir un classificateur trivial qui dit toujours non-fraude à chaque transaction, et nous aurons toujours 99,9% de la précision.

D'autre part, Kappa "corrigera" ce problème en considérant la distribution marginale de la variable de réponse . En utilisant Kappa, le classificateur trivial susmentionné aura un très petit Kappa.

En clair, il mesure à quel point le plus chic est meilleur, comparé aux suppositions avec la distribution cible.

Haitao Du
la source
1
J'ai l'impression que le dernier paragraphe devrait se lire "En anglais simple, il mesure à quel point le classifieur est mieux comparé à deviner avec la distribution cible."
Silverfish
8

1

"Par exemple, à partir de codes équiprobables et d'observateurs précis à 85%:

value of kappa   number of codes
0.49             2
0.60             3 
0.66             5 
0.69             10"

Maintenant, que se passe-t-il si nous n'avons pas de codes équiprobables mais que nous avons des "taux de base" différents?

Pour deux codes, les diagrammes kappa de Bruckner et al. ressembleraitentrez la description de l'image ici

... Néanmoins (... citation continue dans Wikipedia) , des directives de magnitude ont été publiées dans la littérature. Le premier était peut-être Landis et Koch, qui ont caractérisé les valeurs

 <0 as indicating no agreement
 0.00–0.20 as slight, 
 0.21–0.40 as fair, 
 0.41–0.60 as moderate, 
 0.61–0.80 as substantial, and 
 0.81–1 as almost perfect agreement. 

Cet ensemble de directives n’est cependant en aucun cas universellement accepté; Landis et Koch n’ont fourni aucune preuve à l’appui de cette affirmation, mais se sont basés sur leur opinion personnelle. Il a été noté que ces directives peuvent être plus nuisibles qu'utiles. Les directives tout aussi arbitraires de Fleiss caractérisent les kappas sur

>0.75 as excellent, 
 0.40 to 0.75 as fair to good, and 
<0.40 as poor."

(fin citation Wikipedia)

12

Voir également Utilisation de la statistique kappa de Cohen pour évaluer un classificateur binaire pour une question similaire.

1 Bakeman, R .; Quera, V .; McArthur, D .; Robinson, BF (1997). "Détecter des modèles séquentiels et déterminer leur fiabilité avec des observateurs faillibles". Méthodes psychologiques. 2: 357–370. doi: 10.1037 / 1082-989X.2.4.357

2 Robinson BF, Bakeman R. ComKappa: programme Windows 95 permettant de calculer les statistiques kappa et connexes. Méthodes de recherche sur le comportement. 1998; 30: 731-2.

Carl
la source
1

pour répondre à votre question (en anglais courant :-)):

Comment Kappa aide-t-il à évaluer les performances de prévision des classificateurs? Qu'est-ce que ça dit? !!

Vous devez considérer le kappa comme une mesure d’accord entre 2 personnes, de sorte que le résultat puisse être interprété comme:

Poor agreement = 0.20 or less
Fair agreement = 0.20 to 0.40
Moderate agreement = 0.40 to 0.60
Good agreement = 0.60 to 0.80
Very good agreement = 0.80 to 1.00
adhg
la source
6
N'appliquez pas cette échelle à l'aveuglette, lisez la réponse de rbx: "Il n'y a pas d'interprétation standardisée de la statistique kappa. ... Landis et Koch considèrent que 0-0.20 est léger, 0,21-0,40 est correct, 0,41-0,60 est modéré. Fleiss considère que les kappas> 0,75 sont excellents, que les valeurs 0,40-0,75 sont passables à bonnes et que les valeurs <0,40 sont médiocres. Il est important de noter que les deux échelles sont quelque peu arbitraires. au moins deux autres considérations doivent être prises en compte lors de l'interprétation de la statistique kappa. " Ces considérations sont expliquées dans la réponse de
rbx