Kappa de Cohen em inglês comum

131

Estou lendo um livro de mineração de dados e ele mencionou a estatística Kappa como um meio de avaliar o desempenho de previsão dos classificadores. No entanto, eu simplesmente não consigo entender isso. Também verifiquei a Wikipedia, mas também não ajudou: https://en.wikipedia.org/wiki/Cohen's_kappa .

Como o kappa de Cohen ajuda na avaliação do desempenho de previsão dos classificadores? O que isso diz?

Entendo que 100% kappa significa que o classificador está totalmente de acordo com um classificador aleatório, mas não entendo como isso ajuda na avaliação do desempenho do classificador?

O que significa 40% kappa? Isso significa que, em 40% do tempo, o classificador está de acordo com o classificador aleatório? Se sim, o que isso me diz ou me ajuda a avaliar o classificador?

Jack Twain
fonte

Respostas:

226

Introdução

A estatística Kappa (ou valor) é uma métrica que compara uma precisão observada com uma precisão esperada (chance aleatória). A estatística kappa é usada não apenas para avaliar um único classificador, mas também para avaliar os classificadores entre si. Além disso, leva em consideração a chance aleatória (concordância com um classificador aleatório), o que geralmente significa que é menos enganoso do que simplesmente usar a precisão como métrica (uma precisão observada de 80% é muito menos impressionante com uma precisão esperada de 75% versus uma precisão esperada de 50%). Cálculo da precisão observada e da precisão esperadaé essencial para a compreensão da estatística kappa e é mais facilmente ilustrada através do uso de uma matriz de confusão. Vamos começar com uma matriz simples confusão de uma classificação binária simples de gatos e cães :

Computação

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

Suponha que um modelo tenha sido construído usando aprendizado de máquina supervisionado em dados rotulados. Isso nem sempre tem que ser o caso; a estatística kappa é frequentemente usada como uma medida de confiabilidade entre dois avaliadores humanos. Independentemente disso, as colunas correspondem a um "avaliador", enquanto as linhas correspondem a outro "avaliador". No aprendizado de máquina supervisionado, um "avaliador" reflete a verdade básica (os valores reais de cada instância a ser classificada), obtidos a partir de dados rotulados, e o outro "avaliador" é o classificador de aprendizado de máquina usado para executar a classificação. Por fim, não importa qual é o cálculo da estatística kappa, mas para maior clareza ' classificações.

A partir da matriz de confusão, podemos ver que há 30 instâncias no total (10 + 7 + 5 + 8 = 30). De acordo com a primeira coluna 15 foram rotulados como Gatos (10 + 5 = 15), e de acordo com a segunda coluna 15 foram rotulados como Cães (7 + 8 = 15). Também podemos ver que o modelo classificou 17 instâncias como Gatos (10 + 7 = 17) e 13 instâncias como Cães (5 + 8 = 13).

Precisão observada é simplesmente o número de instâncias que foram classificadas corretamente em toda a matriz de confusão, ou seja, o número de instâncias que foram rotuladas como Gatos via verdade no solo e depois classificadas como Gatos pelo classificador de aprendizado de máquina ou rotuladas como Cães através da verdade no solo e depois classificados como Cães pelo classificador de aprendizado de máquina . Para calcular a precisão observada , simplesmente adicionamos o número de instâncias que o classificador de aprendizado de máquina concordou com a verdade básicarótulo e divida pelo número total de instâncias. Para essa matriz de confusão, isso seria 0,6 ((10 + 8) / 30 = 0,6).

Antes de chegarmos à equação da estatística kappa, é necessário mais um valor: a precisão esperada . Esse valor é definido como a precisão que qualquer classificador aleatório atingiria com base na matriz de confusão. A precisão esperada está diretamente relacionada ao número de instâncias de cada classe ( gatos e cães ), juntamente com o número de instâncias que o classificador de aprendizado de máquina concordou com o rótulo de base da verdade . Para calcular a precisão esperada para nossa matriz de confusão, primeiro multiplique a frequência marginal de Gatos para um "avaliador" pela frequência marginal deGatos para o segundo "avaliador" e divida pelo número total de instâncias. A frequência marginal para uma determinada classe de um determinado "avaliador" é apenas a soma de todos os casos que o "avaliador" indicou ser essa classe. No nosso caso, 15 (10 + 5 = 15) instâncias foram rotuladas como gatos de acordo com a verdade básica e 17 (10 + 7 = 17) instâncias foram classificadas como gatos pelo classificador de aprendizado de máquina . Isso resulta em um valor de 8,5 (15 * 17/30 = 8,5). Isso também é feito para a segunda classe (e pode ser repetido para cada classe adicional, se houver mais de 2). 15(7 + 8 = 15) instâncias foram rotuladas como Cães de acordo com a verdade básica e 13 (8 + 5 = 13) ocorrências foram classificadas como Cães pelo classificador de aprendizado de máquina . Isso resulta em um valor de 6,5 (15 * 13/30 = 6,5). A etapa final é adicionar todos esses valores e, finalmente, dividir novamente pelo número total de instâncias, resultando em uma precisão esperada de 0,5 ((8,5 + 6,5) / 30 = 0,5). Em nosso exemplo, a precisão esperada acabou sendo de 50%, como sempre será o caso quando um "avaliador" classifica cada classe com a mesma frequência em uma classificação binária (ambos os gatose Dogs continha 15 instâncias de acordo com os rótulos da verdade básica em nossa matriz de confusão).

A estatística kappa pode então ser calculada usando a precisão observada ( 0,60 ) e a precisão esperada ( 0,50 ) e a fórmula:

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

Portanto, no nosso caso, a estatística kappa é igual a: (0,60 - 0,50) / (1 - 0,50) = 0,20.

Como outro exemplo, aqui está uma matriz de confusão menos equilibrada e os cálculos correspondentes:

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

Verdade no solo: Gatos (29), Cães (22)
Classificador de aprendizado de máquina: Gatos (31), Cães (20)
Total: (51)
Precisão observada: ((22 + 13) / 51) = 0,69
Precisão esperada: ((29 * 31/51) + (22 * 20/51)) / 51 = 0,51
Kappa: (0,69 - 0,51) / (1 - 0,51) = 0,37

Em essência, a estatística kappa é uma medida de quão perto as instâncias classificadas pelo classificador de aprendizado de máquina corresponderam aos dados rotulados como verdade básica , controlando a precisão de um classificador aleatório, medido pela precisão esperada. Essa estatística kappa não apenas pode esclarecer o desempenho do classificador, mas a estatística kappa de um modelo é diretamente comparável à estatística kappa de qualquer outro modelo usado para a mesma tarefa de classificação.

Interpretação

Não existe uma interpretação padronizada da estatística kappa. De acordo com a Wikipedia (citando o artigo), Landis e Koch consideram 0-0,20 como leve, 0,21-0,40 como razoável, 0,41-0,60 como moderada, 0,61-0,80 como substancial e 0,81-1 como quase perfeita. Fleiss considera kappas> 0,75 como excelente, 0,40-0,75 como justo a bom e <0,40 como ruim. É importante notar que as duas escalas são um tanto arbitrárias. Pelo menos duas considerações adicionais devem ser levadas em consideração ao interpretar a estatística kappa. Primeiro, a estatística kappa deve sempre ser comparada com uma matriz de confusão acompanhada, se possível, para obter a interpretação mais precisa. Considere a seguinte matriz de confusão:

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

A estatística kappa é de 0,47, bem acima do limite para moderado de acordo com Landis e Koch e bom para Fleiss. No entanto, observe a taxa de acerto para classificar gatos . Menos de um terço de todos os gatos foram realmente classificados como gatos ; os demais foram classificados como cães . Se nos preocupamos mais em classificar os gatos corretamente (digamos, somos alérgicos a gatos, mas não a cães , e tudo o que nos importa é não sucumbir a alergias, em vez de maximizar o número de animais que recebemos), então um classificador com um valor mais baixo kappa, mas uma melhor taxa de classificação de gatos pode ser mais ideal.

Segundo, os valores estatísticos Kappa aceitáveis ​​variam de acordo com o contexto. Por exemplo, em muitos estudos de confiabilidade entre avaliadores com comportamentos facilmente observáveis, valores estatísticos kappa abaixo de 0,70 podem ser considerados baixos. No entanto, em estudos usando aprendizado de máquina para explorar fenômenos não observáveis, como estados cognitivos, como sonhar acordado, valores estatísticos kappa acima de 0,40 podem ser considerados excepcionais.

Portanto, em resposta à sua pergunta sobre um kappa de 0,40, depende. Se nada mais, isso significa que o classificador alcançou uma taxa de classificação 2/5 entre a precisão esperada e a precisão de 100%. Se a precisão esperada for de 80%, isso significa que o classificador executou 40% (porque kappa é 0,4) de 20% (porque essa é a distância entre 80% e 100%) acima de 80% (porque esse é um kappa de 0 ou chance aleatória) ou 88%. Portanto, nesse caso, cada aumento no kappa de 0,10 indica um aumento de 2% na precisão da classificação. Se a precisão fosse 50%, um kappa de 0,4 significaria que o classificador executasse com uma precisão de 40% (kappa de 0,4) de 50% (distância entre 50% e 100%) maior que 50% (porque esse é um kappa de 0 ou chance aleatória) ou 70%. Novamente, neste caso, isso significa que um aumento no kappa de 0.

Os classificadores construídos e avaliados em conjuntos de dados de diferentes distribuições de classe podem ser comparados de maneira mais confiável por meio da estatística kappa (em vez de apenas usar a precisão) devido a esse dimensionamento em relação à precisão esperada. Ele fornece um indicador melhor de como o classificador foi executado em todas as instâncias, porque uma precisão simples pode ser distorcida se a distribuição de classe for igualmente distorcida. Como mencionado anteriormente, uma precisão de 80% é muito mais impressionante, com uma precisão esperada de 50% versus uma precisão esperada de 75%. A precisão esperada, conforme detalhado acima, é suscetível a distribuições de classes distorcidas; portanto, controlando a precisão esperada através da estatística kappa, permitimos comparar modelos de distribuições de classes diferentes com mais facilidade.

É tudo o que tenho. Se alguém perceber algo deixado de fora, algo incorreto ou se algo ainda não estiver claro, entre em contato para que possamos melhorar a resposta.

Referências que achei úteis:

Inclui uma descrição sucinta do kappa: http://standardwisdom.com/softwarejournal/2011/12/confusion-matrix-another-single-value-metric-kappa-statistic/

Inclui uma descrição do cálculo da precisão esperada: http://epiville.ccnmtl.columbia.edu/popup/how_to_calculate_kappa.html

rbx
fonte
1
Adicionando algum histórico de por que a freqüência esperada de uma célula é igual a rowum * colsum / N, já que esta é a versão reduzida e não é óbvio no começo porque a equação é válida. Isso também é usado no teste do qui-quadrado: en.wikipedia.org/wiki/…
Zhubarb
2
esta é uma ótima resposta, mas estou pensando se você poderia lançar mais luz (ou links!) sobre como uma classe muito dominante pode afetar a interpretação do kappa. Por exemplo, eu tenho uma matriz conf de 7 classes de cobertura do solo e uma delas é dominante (~ 70% de todos os dados). Presumo que este "diluir" o erro geral?
26416 Sam
2
Apenas um comentário aleatório: sua descrição é muito mais clara do que a página da Wikipedia :)
R.Falque
1
Para precisão esperada, observe que pode ser mais simples pensar da seguinte maneira: (15/30) é a proporção esperada de vezes que a "verdade fundamental" classifica algo como um gato e (15/30) é a proporção esperada de vezes que a "verdade fundamental" classifica algo como um cachorro. Da mesma forma, para o classificador ML (17/30) proporção esperada de gatos, (13/30) proporção esperada de cães. Suponha que os classificadores não correlacionados tenham uma porcentagem de tempo que os classificadores concordam por acaso como (15/30) * (17/30) + (15/30) * (13/30) = 0,5 (eles concordam e classificam como cão ou como gato). Portanto, 0,5 tempo de acordo é por acaso.
ClownInTheMoon
1
Bem, a comparação de anotadores é a intenção original, com certeza. No entanto, a história científica está repleta de casos em que alguma fórmula ou outra saltou de sua piscina de desova para outra e fez do mundo um lugar melhor. Dito isto, provavelmente existem métricas melhores para usar, dependendo do seu caso. Você deve entender os pontos fortes e fracos das métricas de candidatos antes de tomar uma decisão final. O AUPRC pode ser um método melhor para alguns casos, por exemplo.
rbx 27/02
14

O rbx tem uma ótima resposta. No entanto, é um pouco detalhado. Aqui está meu resumo e intuição por trás da métrica Kappa.


Kappa é uma medida importante no desempenho do classificador, especialmente no conjunto de dados desequilibrados .

Por exemplo, na detecção de fraude no cartão de crédito, a distribuição marginal da variável de resposta é altamente inclinada, e usar a precisão como uma medida não será útil. Em outras palavras, para um exemplo de detecção de fraude, 99,9% das transações serão transações não fraudulentas. Podemos ter um classificador trivial que sempre diz não fraude em todas as transações e ainda teremos 99,9% de precisão.

Por outro lado, o Kappa "corrigirá" esse problema considerando a distribuição marginal da variável de resposta . Usando Kappa, o classificador trivial mencionado acima terá um Kappa muito pequeno.

Em inglês simples, ele mede o quão melhor é a classe, em comparação com a estimativa com a distribuição de destino.

Haitao Du
fonte
1
Tenho a sensação de que o último parágrafo deve ler "Em inglês simples, ele mede o quanto o classificador é melhor comparado com o palpite com a distribuição de destino".
Silverfish
8

1

"Por exemplo, dados códigos e observadores equiprobáveis ​​com 85% de precisão:

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

Agora, e se não tivermos códigos equiprobáveis, mas tivermos "taxas base" diferentes?

Para dois códigos, os kappa plotam de Bruckner et al. pareceriainsira a descrição da imagem aqui

... No entanto (... continua citação na Wikipedia) , diretrizes de magnitude apareceram na literatura. Talvez o primeiro tenha sido Landis e Koch, que caracterizaram valores

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

Esse conjunto de diretrizes não é, de maneira alguma, universalmente aceito; Landis e Koch não forneceram evidências para apoiá-lo, baseando-o na opinião pessoal. Observou-se que essas diretrizes podem ser mais prejudiciais do que úteis. As diretrizes igualmente arbitrárias de Fleiss caracterizam kappas sobre

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

(citação final da Wikipedia)

12 relaciona que o erro padrão do kappa pode ser estimado, permitindo que o kappa obtido seja testado quanto à significância em relação a uma distribuição nula (Bakeman & Gottman, 1997; Fleiss, Cohen e Everitt, 1969). Para uma leitura mais detalhada de outras medidas kappa, consulte ANÁLISE DE FLUXOS COMPORTAMENTAIS .

Consulte também Usando a estatística kappa de Cohen para avaliar um classificador binário para uma pergunta semelhante.

1 Bakeman, R .; Quera, V .; McArthur, D .; Robinson, BF (1997). "Detectando padrões seqüenciais e determinando sua confiabilidade com observadores falíveis". Métodos psicológicos. 2: 357-370. doi: 10.1037 / 1082-989X.2.4.357

2 Robinson BF, Bakeman R. ComKappa: Um programa do Windows '95 para calcular kappa e estatísticas relacionadas. Métodos de pesquisa de comportamento. 1998; 30: 731-2.

Carl
fonte
1

para responder sua pergunta (em inglês simples :-)):

Como o Kappa ajuda na avaliação do desempenho de previsão dos classificadores? O que isso diz? !!

Você deve considerar o kappa como uma medida de concordância entre 2 indivíduos, para que o resultado possa ser interpretado como:

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
fonte
6
Não aplique esta escala às cegas, leia a resposta da rbx: "Não há uma interpretação padronizada da estatística kappa. ... Landis e Koch consideram 0-0,20 como leve, 0,21-0,40 como razoável, 0,41-0,60 como moderada. , 0,61-0,80 como substancial e 0,81-1 como quase perfeito. Fleiss considera kappas> 0,75 como excelente, 0,40-0,75 como razoável a bom e <0,40 como ruim. É importante observar que ambas as escalas são um tanto arbitrárias. pelo menos duas considerações adicionais devem ser levadas em consideração ao interpretar a estatística kappa ". Estas considerações são explicados em de rbx resposta
joelostblom