Kappa di Cohen in inglese semplice


131

Sto leggendo un libro di data mining e menziona la statistica Kappa come mezzo per valutare le prestazioni di previsione dei classificatori. Tuttavia, non riesco proprio a capirlo. Ho anche controllato Wikipedia ma non ha aiutato troppo: https://en.wikipedia.org/wiki/Cohen's_kappa .

In che modo il kappa di Cohen aiuta a valutare le prestazioni di previsione dei classificatori? Cosa dice?

Capisco che il 100% kappa significa che il classificatore è in totale accordo con un classificatore casuale, ma non capisco in che modo questo aiuta a valutare le prestazioni del classificatore?

Cosa significa 40% kappa? Significa che il 40% delle volte, il classificatore è in accordo con il classificatore casuale? In tal caso, cosa mi dice o mi aiuta a valutare il classificatore?

Risposte:


226

introduzione

La statistica (o valore) di Kappa è una metrica che confronta un'accuratezza osservata con un'accuratezza attesa (possibilità casuale). La statistica kappa viene utilizzata non solo per valutare un singolo classificatore, ma anche per valutare i classificatori tra di loro. Inoltre, tiene conto del caso casuale (accordo con un classificatore casuale), il che significa generalmente che è meno fuorviante rispetto al semplice utilizzo della precisione come metrica (un'accuratezza osservata dell'80% è molto meno impressionante con un'accuratezza attesa del 75% contro una precisione attesa del 50%). Calcolo della precisione osservata e della precisione previstaè parte integrante della comprensione della statistica kappa ed è più facilmente illustrabile attraverso l'uso di una matrice di confusione. Cominciamo con una semplice matrice di confusione da una semplice classificazione binaria di Cats and Dogs :

Calcolo

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

Supponiamo che un modello sia stato creato utilizzando l'apprendimento automatico supervisionato su dati etichettati. Questo non deve sempre essere il caso; la statistica kappa viene spesso utilizzata come misura di affidabilità tra due valutatori umani. Indipendentemente da ciò, le colonne corrispondono a un "rater" mentre le righe corrispondono a un altro "rater". Nell'apprendimento automatico supervisionato, un "rater" riflette la verità di base (i valori effettivi di ciascuna istanza da classificare), ottenuta da dati etichettati, e l'altro "rater" è il classificatore di apprendimento automatico utilizzato per eseguire la classificazione. Alla fine non importa quale sia il calcolo della statistica kappa, ma per chiarezza ' classificazioni.

Dalla matrice di confusione possiamo vedere che ci sono 30 casi in totale (10 + 7 + 5 + 8 = 30). Secondo la prima colonna 15 sono stati etichettati come Gatti (10 + 5 = 15) e secondo la seconda colonna 15 sono stati etichettati come Cani (7 + 8 = 15). Possiamo anche vedere che il modello ha classificato 17 istanze come Cats (10 + 7 = 17) e 13 istanze come Dogs (5 + 8 = 13).

La precisione osservata è semplicemente il numero di istanze che sono state classificate correttamente in tutta la matrice di confusione, vale a dire il numero di istanze che sono state etichettate come Cats tramite verità sul suolo e poi classificate come Cats dal classificatore di apprendimento automatico o etichettate come Cani tramite verità sul terreno e quindi classificato come Cani dal classificatore di apprendimento automatico . Per calcolare la precisione osservata , aggiungiamo semplicemente il numero di casi concordati dal classificatore di machine learning con la verità di baseetichetta e dividere per il numero totale di istanze. Per questa matrice di confusione, sarebbe 0,6 ((10 + 8) / 30 = 0,6).

Prima di arrivare all'equazione per la statistica kappa, è necessario un altro valore: la precisione attesa . Questo valore è definito come l'accuratezza che ci si aspetterebbe da un classificatore casuale in base alla matrice di confusione. L' accuratezza attesa è direttamente correlata al numero di istanze di ogni classe ( Cats and Dogs ), insieme al numero di istanze concordate dal classificatore di machine learning con l' etichetta di verità di base . Per calcolare la precisione attesa per la nostra matrice di confusione, moltiplica prima la frequenza marginale di Cats per un "rater" per la frequenza marginale diGatti per il secondo "rater", e dividere per il numero totale di istanze. La frequenza marginale di una determinata classe da parte di un determinato "rater" è solo la somma di tutti i casi in cui il "rater" indicava quella classe. Nel nostro caso, 15 (10 + 5 = 15) casi sono stati etichettati come Gatti secondo la verità di base e 17 (10 + 7 = 17) casi sono stati classificati come Gatti dal classificatore di apprendimento automatico . Ciò si traduce in un valore di 8,5 (15 * 17/30 = 8,5). Questo viene fatto anche per la seconda classe (e può essere ripetuto per ogni classe aggiuntiva se ce ne sono più di 2). 15(7 + 8 = 15) istanze sono state etichettate come Cani secondo la verità di base e 13 (8 + 5 = 13) sono state classificate come Cani dal classificatore di apprendimento automatico . Ciò si traduce in un valore di 6,5 (15 * 13/30 = 6,5). Il passaggio finale consiste nell'aggiungere tutti questi valori insieme e infine dividere nuovamente per il numero totale di istanze, con una precisione attesa di 0,5 ((8,5 + 6,5) / 30 = 0,5). Nel nostro esempio, la precisione attesa si è rivelata del 50%, come sempre quando uno dei due "classificatori" classifica ogni classe con la stessa frequenza in una classificazione binaria (entrambi i gattie Dogs conteneva 15 casi secondo le etichette di verità di base nella nostra matrice di confusione).

La statistica kappa può quindi essere calcolata utilizzando sia la Precisione osservata ( 0,60 ) sia la Precisione attesa ( 0,50 ) e la formula:

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

Quindi, nel nostro caso, la statistica kappa è uguale: (0,60 - 0,50) / (1 - 0,50) = 0,20.

Come altro esempio, ecco una matrice di confusione meno bilanciata e i relativi calcoli:

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

In verità: Cats (29), Dogs (22)
Classificatore di apprendimento automatico: Cats (31), Dogs (20)
Totale: (51)
Precisione osservata: ((22 + 13) / 51) = 0.69
Precisione attesa: ((29 * 31/51) + (22 * 20/51)) / 51 = 0,51
Kappa: (0,69 - 0,51) / (1 - 0,51) = 0,37

In sostanza, la statistica kappa è una misura di quanto le istanze classificate dal classificatore di machine learning corrispondessero ai dati etichettati come verità di base , controllando l'accuratezza di un classificatore casuale misurato dall'accuratezza attesa. Non solo questa statistica kappa può far luce su come si è comportato il classificatore stesso, la statistica kappa per un modello è direttamente paragonabile alla statistica kappa per qualsiasi altro modello utilizzato per lo stesso compito di classificazione.

Interpretazione

Non esiste un'interpretazione standardizzata della statistica kappa. Secondo Wikipedia (citando il loro articolo), Landis e Koch considerano lo 0-0,20 leggero, lo 0,21-0,40 equo, lo 0,41-0,60 come moderato, lo 0,61-0,80 come sostanziale e lo 0,81-1 quasi perfetto. Fleiss considera le kappas> 0,75 eccellenti, 0,40-0,75 da discrete a buone e <0,40 come povere. È importante notare che entrambe le scale sono in qualche modo arbitrarie. Almeno due ulteriori considerazioni dovrebbero essere prese in considerazione nell'interpretazione della statistica kappa. In primo luogo, la statistica kappa dovrebbe sempre essere confrontata con una matrice di confusione accompagnata, se possibile, per ottenere l'interpretazione più accurata. Considera la seguente matrice di confusione:

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

La statistica kappa è 0,47, ben al di sopra della soglia del moderato secondo Landis e Koch e discreta per Fleiss. Tuttavia, nota la percentuale di successo per la classificazione dei gatti . Meno di un terzo di tutti i gatti sono stati effettivamente classificati come gatti ; gli altri sono stati tutti classificati come cani . Se ci preoccupiamo di più di classificare correttamente i gatti (diciamo, siamo allergici ai gatti ma non ai cani , e tutto ciò che ci interessa non è soccombere alle allergie invece di massimizzare il numero di animali che prendiamo), quindi un classificatore con un livello inferiore kappa ma un miglior tasso di classificazione dei gatti potrebbe essere più ideale.

In secondo luogo, i valori statistici kappa accettabili variano in base al contesto. Ad esempio, in molti studi sull'affidabilità inter-rater con comportamenti facilmente osservabili, valori statistici kappa inferiori a 0,70 potrebbero essere considerati bassi. Tuttavia, negli studi che utilizzano l'apprendimento automatico per esplorare fenomeni inosservabili come stati cognitivi come il sogno ad occhi aperti, i valori statistici kappa superiori a 0,40 potrebbero essere considerati eccezionali.

Quindi, in risposta alla tua domanda su un 0,40 kappa, dipende. Se non altro, significa che il classificatore ha raggiunto un tasso di classificazione 2/5 tra qualunque accuratezza prevista e precisione del 100%. Se la precisione prevista era dell'80%, ciò significa che il classificatore ha eseguito il 40% (perché kappa è 0,4) del 20% (perché questa è la distanza tra l'80% e il 100%) sopra l'80% (perché si tratta di una kappa di 0, oppure possibilità casuale), o 88%. Quindi, in quel caso, ogni aumento di kappa di 0,10 indica un aumento del 2% dell'accuratezza della classificazione. Se l'accuratezza fosse invece del 50%, un kappa di 0,4 significherebbe che il classificatore si comportava con un'accuratezza del 40% (kappa di 0,4) del 50% (distanza tra il 50% e il 100%) maggiore del 50% (poiché si tratta di un kappa di 0, o possibilità casuale), o 70%. Ancora una volta, in questo caso ciò significa che un aumento di kappa di 0.

I classificatori costruiti e valutati su insiemi di dati di diverse distribuzioni di classe possono essere confrontati in modo più affidabile attraverso la statistica kappa (rispetto al semplice utilizzo dell'accuratezza) a causa di questo ridimensionamento in relazione all'accuratezza attesa. Fornisce un indicatore migliore di come il classificatore ha funzionato in tutte le istanze, perché una semplice precisione può essere distorta se la distribuzione della classe è similmente distorta. Come accennato in precedenza, un'accuratezza dell'80% è molto più impressionante con un'accuratezza attesa del 50% rispetto a un'accuratezza attesa del 75%. L'accuratezza attesa, come descritto sopra, è suscettibile alle distribuzioni di classe distorte, quindi controllando l'accuratezza attesa attraverso la statistica kappa, permettiamo di confrontare più facilmente i modelli di diverse distribuzioni di classe.

Questo è tutto ciò che ho. Se qualcuno nota qualcosa lasciato fuori, qualcosa di sbagliato o se qualcosa non è ancora chiaro, per favore fatemi sapere in modo da poter migliorare la risposta.

Riferimenti che ho trovato utili:

Include una descrizione sintetica di kappa: http://standardwisdom.com/softwarejournal/2011/12/confusion-matrix-another-single-value-metric-kappa-statistic/

Include una descrizione del calcolo della precisione prevista: http://epiville.ccnmtl.columbia.edu/popup/how_to_calculate_kappa.html


1
Aggiungendo un po 'di sfondo sul perché la frequenza attesa di una cella è uguale a rowum * colsum / N, poiché questa è la versione ridotta e non è ovvio all'inizio perché l'equazione valga. Viene utilizzato anche nei test Chi-Square: en.wikipedia.org/wiki/…
Zhubarb,

2
questa è un'ottima risposta, ma mi chiedo se potresti far luce (o collegamenti!) su come una classe molto dominante possa influenzare l'interpretazione del kappa. Ad esempio, ho una matrice conf di 7 classi di copertura del suolo e una di esse è dominante (~ 70% di tutti i dati). Presumo che questo 'annacquamento' dell'errore globale?
Sam,

2
Solo un commento casuale: la tua descrizione è molto più chiara della pagina di Wikipedia :)
R.Falque il

1
Per la precisione prevista, si noti che potrebbe essere più semplice pensare come segue: (15/30) è la proporzione attesa di volte che la "verità fondamentale" classifica qualcosa di un gatto e (15/30) è la proporzione attesa di volte che La "verità fondamentale" classifica qualcosa di un cane. Allo stesso modo, per il classificatore ML (17/30) proporzione attesa gatti, (13/30) percentuale attesa cani. Assumi classificatori non correlati, quindi abbiamo una percentuale di classificatori temporali concordati per caso come (15/30) * (17/30) + (15/30) * (13/30) = .5 (o sono d'accordo e classificano come cane o come gatto). Quindi, .5 di accordo temporale è per caso.
ClownInTheMoon,

1
Bene, il confronto tra gli annotatori è sicuramente l'intenzione originale. Tuttavia, la storia scientifica è disseminata di casi in cui una formula o un'altra è saltata fuori dalla sua vasca di generazione in un'altra, e ha reso il mondo un posto migliore. Detto questo, probabilmente ci sono metriche migliori da usare a seconda del caso. È necessario comprendere i punti di forza e di debolezza delle metriche dei candidati prima di prendere una decisione finale. AUPRC potrebbe essere un metodo migliore per alcuni casi, ad esempio.
rbx,

14

rbx ha un'ottima risposta. Tuttavia, è un po 'prolisso. Ecco il mio riassunto e intuizione dietro la metrica Kappa.


Kappa è una misura importante per le prestazioni dei classificatori, in particolare per i set di dati non bilanciati .

Ad esempio, nel rilevamento delle frodi con carta di credito, la distribuzione marginale della variabile di risposta è molto inclinata, e non sarà utile utilizzare l'accuratezza come misura. In altre parole, per un determinato esempio di rilevamento delle frodi, il 99,9% delle transazioni sarà costituito da transazioni non fraudolente. Possiamo avere un banale classificatore che dice sempre non-frode ad ogni transazione e avremo ancora il 99,9% di accuratezza.

D'altra parte, Kappa "risolverà" questo problema considerando la distribuzione marginale della variabile di risposta . Usando Kappa, il suddetto classificatore banale avrà una Kappa molto piccola.

In parole povere, misura quanto è meglio il classista, rispetto a indovinare con la distribuzione target.


1
Ho la sensazione che l'ultimo paragrafo dovrebbe leggere "In parole povere, misura quanto meglio il classificatore viene confrontato con le ipotesi con la distribuzione target."
Silverfish

8

1

"Ad esempio, dati codici e osservatori equiprobabili con una precisione dell'85%:

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

Ora, cosa succede se non disponiamo di codici equiprobabili ma abbiamo "tariffe base" diverse?

Per due codici il kappa traccia di Bruckner et al. sembrerebbeinserisci qui la descrizione dell'immagine

... Tuttavia (... continua citazione di Wikipedia) , le linee guida sulla grandezza sono apparse in letteratura. Forse il primo fu Landis e Koch, che caratterizzarono i valori

 <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. 

Questo insieme di linee guida non è tuttavia universalmente accettato; Landis e Koch non hanno fornito prove a sostegno, basandosi invece sull'opinione personale. È stato notato che queste linee guida possono essere più dannose che utili. Le linee guida ugualmente arbitrarie di Fleiss caratterizzano le kappa

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

(fine citazione di Wikipedia)

12

Vedi anche Usare la statistica kappa di Cohen per valutare un classificatore binario per una domanda simile.

1 Bakeman, R .; Quera, V .; McArthur, D .; Robinson, BF (1997). "Rilevamento di schemi sequenziali e determinazione della loro affidabilità con osservatori fallibili". Metodi psicologici 2: 357–370. doi: 10,1037 / 1082-989X.2.4.357

2 Robinson BF, Bakeman R. ComKappa: un programma Windows 95 per il calcolo di kappa e statistiche correlate. Metodi di ricerca comportamentale. 1998; 30: 731-2.


1

per rispondere alla tua domanda (in parole povere :-)):

In che modo Kappa aiuta a valutare le prestazioni di previsione dei classificatori? Cosa dice? !!

Dovresti considerare il kappa come una misura di accordo tra 2 individui in modo tale che il risultato possa essere interpretato come:

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

6
Non applicare questa scala alla cieca, leggi la risposta di rbx: "Non esiste un'interpretazione standardizzata della statistica kappa. ... Landis e Koch considerano lo 0-0.20 leggero, lo 0,21-0,40 equo, lo 0,41-0,60 come moderato , 0,61-0,80 come sostanziale e 0,81-1 quasi perfetto. Fleiss considera le kappa> 0,75 come eccellenti, 0,40-0,75 da discrete a buone e <0,40 come scadenti. È importante notare che entrambe le scale sono in qualche modo arbitrarie. almeno due ulteriori considerazioni dovrebbero essere prese in considerazione nell'interpretazione della statistica kappa. " Queste considerazioni sono spiegate nella risposta di rbx
joelostblom,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.