Kappa Cohen dalam bahasa Inggris sederhana


131

Saya membaca buku data mining dan disebutkan statistik Kappa sebagai sarana untuk mengevaluasi kinerja prediksi pengklasifikasi. Namun, saya tidak bisa mengerti ini. Saya juga memeriksa Wikipedia tetapi tidak membantu juga: https://en.wikipedia.org/wiki/Cohen's_kappa .

Bagaimana kappa Cohen membantu dalam mengevaluasi kinerja prediksi pengklasifikasi? Apa isinya?

Saya mengerti bahwa 100% kappa berarti bahwa classifier dalam perjanjian total dengan classifier acak, tetapi saya tidak mengerti bagaimana hal ini membantu dalam mengevaluasi kinerja classifier?

Apa arti 40% kappa? Apakah ini berarti bahwa 40% dari waktu, pengklasifikasi sesuai dengan pengelompokan acak? Jika demikian, apa artinya itu kepada saya atau membantu saya mengevaluasi pengklasifikasi?

Jawaban:


226

pengantar

Statistik Kappa (atau nilai) adalah metrik yang membandingkan Akurasi yang Teramati dengan Akurasi yang Diharapkan (peluang acak). Statistik kappa digunakan tidak hanya untuk mengevaluasi satu pengklasifikasi tunggal, tetapi juga untuk mengevaluasi pengklasifikasi di antara mereka sendiri. Selain itu, ini memperhitungkan peluang acak (perjanjian dengan pengelompokan acak), yang umumnya berarti kurang menyesatkan daripada hanya menggunakan akurasi sebagai metrik ( Akurasi Teramati sebesar 80% jauh lebih mengesankan dengan Akurasi yang Diharapkan 75% versus Akurasi yang Diharapkan 50%). Perhitungan Akurasi Teramati dan Akurasi yang Diharapkanmerupakan bagian integral dari pemahaman statistik kappa, dan paling mudah diilustrasikan melalui penggunaan matriks kebingungan. Mari kita mulai dengan matriks kebingungan sederhana dari klasifikasi biner sederhana Kucing dan Anjing :

Komputasi

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

Asumsikan bahwa model dibangun menggunakan pembelajaran mesin yang diawasi pada data berlabel. Ini tidak selalu harus demikian; statistik kappa sering digunakan sebagai ukuran keandalan antara dua penilai manusia. Apapun, kolom sesuai dengan satu "penilai" sementara baris sesuai dengan "penilai" yang lain. Dalam pembelajaran mesin yang diawasi, satu "penilai" mencerminkan kebenaran dasar (nilai aktual dari setiap contoh yang akan diklasifikasikan), yang diperoleh dari data berlabel, dan "penilai" lainnya adalah penggolong pembelajaran mesin yang digunakan untuk melakukan klasifikasi. Pada akhirnya tidak masalah yang mana yang menghitung statistik kappa, tetapi untuk kejelasan ' klasifikasi.

Dari matriks kebingungan kita dapat melihat ada total 30 instance (10 + 7 + 5 + 8 = 30). Menurut kolom pertama 15 dicap sebagai Kucing (10 + 5 = 15), dan menurut kolom kedua 15 dicap sebagai Anjing (7 + 8 = 15). Kita juga dapat melihat bahwa model mengklasifikasikan 17 instance sebagai Kucing (10 + 7 = 17) dan 13 instance sebagai Anjing (5 + 8 = 13).

Observed Accuracy hanyalah jumlah instance yang diklasifikasikan dengan benar di seluruh matriks kebingungan, yaitu jumlah instance yang dilabeli sebagai Kucing melalui kebenaran tanah dan kemudian diklasifikasikan sebagai Kucing oleh klasifikasi pembelajaran mesin , atau diberi label sebagai Anjing melalui kebenaran dasar dan kemudian diklasifikasikan sebagai Anjing berdasarkan klasifikasi pembelajaran mesin . Untuk menghitung Akurasi Teramati , kami cukup menambahkan jumlah instance yang disetujui oleh pengklasifikasi pembelajaran mesin dengan kebenaran dasarlabel, dan bagi dengan jumlah instance. Untuk matriks kebingungan ini, ini akan menjadi 0,6 ((10 + 8) / 30 = 0,6).

Sebelum kita sampai pada persamaan untuk statistik kappa, satu nilai lagi diperlukan: Akurasi yang Diharapkan . Nilai ini didefinisikan sebagai keakuratan yang diharapkan dicapai oleh pengelompokan acak berdasarkan matriks kebingungan. The Akurasi Diharapkan secara langsung berhubungan dengan jumlah kasus masing-masing kelas ( Kucing dan Anjing ), bersama dengan jumlah kasus bahwa classifier mesin pembelajaran setuju dengan ground truth label. Untuk menghitung Akurasi Diharapkan untuk matriks kebingungan kita, pertama memperbanyak frekuensi marjinal dari Kucing untuk satu "penilai" oleh frekuensi marjinal dariKucing untuk "penilai" kedua, dan bagi dengan jumlah total instance. The frekuensi marjinal untuk kelas tertentu oleh "rater" tertentu hanya jumlah dari semua kasus yang "penilai" menunjukkan kelas itu. Dalam kasus kami, 15 instance (10 + 5 = 15) diberi label sebagai Kucing berdasarkan kebenaran dasar , dan 17 (10 + 7 = 17) instance dikategorikan sebagai Kucing oleh klasifikasi pembelajaran mesin . Ini menghasilkan nilai 8,5 (15 * 17/30 = 8.5). Ini kemudian dilakukan untuk kelas kedua juga (dan dapat diulang untuk setiap kelas tambahan jika ada lebih dari 2). 15(7 + 8 = 15) instance diberi label sebagai Anjing berdasarkan kebenaran dasar , dan 13 (8 + 5 = 13) instance diklasifikasikan sebagai Anjing oleh klasifikasi pembelajaran mesin . Ini menghasilkan nilai 6,5 (15 * 13/30 = 6,5). Langkah terakhir adalah menambahkan semua nilai-nilai ini bersama-sama, dan akhirnya membagi lagi dengan jumlah total instance, menghasilkan Akurasi yang Diharapkan dari 0,5 ((8,5 + 6,5) / 30 = 0,5). Dalam contoh kami, Akurasi yang Diharapkan ternyata 50%, seperti yang selalu terjadi ketika "penilai" mengklasifikasikan setiap kelas dengan frekuensi yang sama dalam klasifikasi biner (keduanya Kucingdan Anjing berisi 15 contoh menurut label kebenaran tanah dalam matriks kebingungan kami).

Statistik kappa kemudian dapat dihitung dengan menggunakan Akurasi Teramati ( 0,60 ) dan Akurasi yang Diharapkan ( 0,50 ) dan rumus:

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

Jadi, dalam kasus kami, statistik kappa sama dengan: (0,60 - 0,50) / (1 - 0,50) = 0,20.

Sebagai contoh lain, ini adalah matriks kebingungan yang kurang seimbang dan perhitungan yang sesuai:

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

Kebenaran dasar: Kucing (29), Anjing (22)
Klasifikasi Pembelajaran Mesin: Kucing (31), Anjing (20)
Total: (51)
Akurasi yang Teramati: ((22 + 13) / 51) = 0,69
Akurasi yang Diharapkan: ((29) * 31/51) + (22 * 20/51)) / 51 = 0,51
Kappa: (0,69 - 0,51) / (1 - 0,51) = 0,37

Intinya, statistik kappa adalah ukuran seberapa dekat instance yang diklasifikasikan oleh classifier pembelajaran mesin cocok dengan data yang dilabeli sebagai ground truth , mengendalikan keakuratan classifier acak yang diukur dengan akurasi yang diharapkan. Statistik kappa ini tidak hanya menjelaskan bagaimana kinerja pengklasifikasi itu sendiri, statistik kappa untuk satu model secara langsung dapat dibandingkan dengan statistik kappa untuk model lain yang digunakan untuk tugas klasifikasi yang sama.

Interpretasi

Tidak ada interpretasi standar dari statistik kappa. Menurut Wikipedia (mengutip makalah mereka), Landis dan Koch menganggap 0-0.20 sebagai sedikit, 0,21-0,40 sebagai adil, 0,41-0,60 sebagai moderat, 0,61-0,80 sebagai substansial, dan 0,81-1 sebagai hampir sempurna. Fleiss menganggap kappas> 0,75 sebagai sangat baik, 0,40-0,75 sebagai adil untuk baik, dan <0,40 sebagai miskin. Penting untuk dicatat bahwa kedua skala agak arbitrer. Setidaknya dua pertimbangan lebih lanjut harus diperhitungkan ketika menafsirkan statistik kappa. Pertama, statistik kappa harus selalu dibandingkan dengan matriks kebingungan yang menyertai jika memungkinkan untuk mendapatkan interpretasi yang paling akurat. Pertimbangkan matriks kebingungan berikut:

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

Statistik kappa adalah 0,47, jauh di atas ambang batas untuk moderat menurut Landis dan Koch dan cukup baik untuk Fleiss. Namun, perhatikan hit rate untuk mengklasifikasikan Kucing . Kurang dari sepertiga dari semua Kucing sebenarnya diklasifikasikan sebagai Kucing ; sisanya digolongkan sebagai Anjing . Jika kita lebih peduli tentang mengklasifikasikan Kucing dengan benar (katakanlah, kita alergi terhadap Kucing tetapi tidak untuk Anjing , dan semua yang kita pedulikan tidak mengalah pada alergi yang bertentangan dengan memaksimalkan jumlah hewan yang kita ambil), maka penggolong dengan yang lebih rendah kappa tetapi tingkat yang lebih baik dalam mengklasifikasikan Kucing mungkin lebih ideal.

Kedua, nilai statistik kappa yang dapat diterima bervariasi pada konteksnya. Misalnya, dalam banyak studi reliabilitas antar penilai dengan perilaku yang mudah diamati, nilai statistik kappa di bawah 0,70 mungkin dianggap rendah. Namun, dalam studi menggunakan pembelajaran mesin untuk mengeksplorasi fenomena yang tidak dapat diamati seperti keadaan kognitif seperti day dreaming, nilai statistik kappa di atas 0,40 mungkin dianggap luar biasa.

Jadi, sebagai jawaban atas pertanyaan Anda tentang 0,40 kappa, itu tergantung. Jika tidak ada yang lain, itu berarti bahwa classifier mencapai tingkat klasifikasi 2/5 dari jalan antara apa pun akurasi yang diharapkan dan akurasi 100%. Jika akurasi yang diharapkan adalah 80%, itu berarti bahwa classifier dilakukan 40% (karena kappa adalah 0,4) dari 20% (karena ini adalah jarak antara 80% dan 100%) di atas 80% (karena ini adalah kappa dari 0, atau kesempatan acak), atau 88%. Jadi, dalam hal itu, setiap peningkatan dalam kappa 0,10 menunjukkan peningkatan 2% dalam akurasi klasifikasi. Jika akurasinya adalah 50%, kappa 0,4 berarti bahwa classifier dilakukan dengan akurasi yaitu 40% (kappa 0,4) dari 50% (jarak antara 50% dan 100%) lebih besar dari 50% (karena ini adalah kappa 0, atau peluang acak), atau 70%. Sekali lagi, dalam hal ini berarti peningkatan dalam kappa 0.

Klasifikasi yang dibangun dan dievaluasi pada set data dari distribusi kelas yang berbeda dapat dibandingkan secara lebih andal melalui statistik kappa (bukan hanya menggunakan akurasi) karena penskalaan ini terkait dengan akurasi yang diharapkan. Ini memberikan indikator yang lebih baik tentang bagaimana classifier dilakukan di semua contoh, karena akurasi sederhana dapat miring jika distribusi kelas juga miring. Seperti disebutkan sebelumnya, akurasi 80% jauh lebih mengesankan dengan akurasi yang diharapkan 50% versus akurasi yang diharapkan 75%. Akurasi yang diharapkan seperti yang dijelaskan di atas rentan terhadap distribusi kelas yang miring, sehingga dengan mengontrol akurasi yang diharapkan melalui statistik kappa, kami memungkinkan model distribusi kelas yang berbeda menjadi lebih mudah dibandingkan.

Hanya itu yang saya miliki. Jika ada yang melihat ada yang terlewatkan, ada yang tidak beres, atau jika ada yang masih belum jelas, beri tahu saya agar saya dapat meningkatkan jawabannya.

Referensi yang saya temukan bermanfaat:

Termasuk penjelasan ringkas tentang kappa: http://standardwisdom.com/softwarejournal/2011/12/confusion-matrix-another-single-value-metric-kappa-statistic/

Termasuk deskripsi menghitung akurasi yang diharapkan: http://epiville.ccnmtl.columbia.edu/popup/how_to_calculate_kappa.html


1
Menambahkan beberapa latar belakang mengapa frekuensi yang diharapkan dari sebuah sel sama dengan rowsum * colsum / N, karena ini adalah versi yang dikurangi dan tidak jelas di awal mengapa persamaan tersebut berlaku. Ini digunakan dalam pengujian Chi-Square juga: en.wikipedia.org/wiki/…
Zhubarb

2
ini adalah jawaban yang bagus tetapi saya bertanya-tanya apakah Anda dapat menjelaskan lebih lanjut (atau tautan!) tentang bagaimana kelas yang sangat dominan dapat memengaruhi interpretasi kappa. Sebagai contoh, saya memiliki matriks conf dari 7 kelas tutupan lahan dan salah satunya dominan (~ 70% dari semua data). Saya menganggap ini 'mempermudah' kesalahan keseluruhan?
Sam

2
Hanya komentar acak: deskripsi Anda jauh lebih jelas daripada halaman Wikipedia :)
R.Falque

1
Untuk akurasi yang diharapkan, perhatikan bahwa mungkin lebih mudah untuk memikirkan sebagai berikut: (15/30) adalah proporsi yang diharapkan dari kali "ground ground" mengklasifikasikan sesuatu yang kucing, dan (15/30) adalah proporsi yang diharapkan dari berapa kali "Kebenaran dasar" mengklasifikasikan sesuatu anjing. Demikian juga, untuk ML classifier (17/30) kucing proporsi yang diharapkan, (13/30) anjing proporsi yang diharapkan. Asumsikan pengklasifikasi tidak berkorelasi, maka kami memiliki persentase pengklasifikasi waktu setuju secara kebetulan sebagai (15/30) * (17/30) + (15/30) * (13/30) = .5 (apakah mereka setuju dan mengklasifikasikan sebagai anjing atau sebagai kucing). Oleh karena itu, .5 perjanjian waktu adalah kebetulan.
ClownInTheMoon

1
Yah, perbandingan annotators adalah niat asli, pasti. Namun, sejarah ilmiah dipenuhi dengan kasus-kasus di mana beberapa formula telah melompat keluar dari kolam pemijahannya ke yang lain, dan membuat dunia menjadi tempat yang lebih baik. Yang sedang berkata, mungkin ada metrik yang lebih baik untuk digunakan tergantung pada kasus Anda. Anda harus memahami kekuatan dan kelemahan metrik kandidat sebelum membuat keputusan akhir. AUPRC mungkin merupakan metode yang lebih baik untuk beberapa kasus, misalnya.
rbx

14

rbx memiliki jawaban yang bagus. Namun, ini sedikit bertele-tele. Inilah ringkasan dan intuisi saya di balik metrik Kappa.


Kappa adalah ukuran penting pada kinerja classifier, terutama pada set data yang tidak seimbang .

Sebagai contoh, dalam deteksi penipuan kartu kredit, distribusi marginal dari variabel respon sangat miring, yang menggunakan akurasi sebagai ukuran tidak akan berguna. Dengan kata lain, untuk contoh deteksi penipuan yang diberikan, 99,9% dari transaksi adalah transaksi non-penipuan. Kami dapat memiliki classifier sepele yang selalu mengatakan non-fraud untuk setiap transaksi, dan kami akan tetap memiliki 99,9% keakuratan.

Di sisi lain, Kappa akan "memperbaiki" masalah ini dengan mempertimbangkan distribusi marginal dari variabel respons . Menggunakan Kappa, classifier sepele yang disebutkan di atas akan memiliki Kappa yang sangat kecil.

Dalam bahasa Inggris biasa, ini mengukur seberapa baik klasifikasi itu, dibandingkan dengan menebak dengan target distribusi.


1
Saya merasa paragraf terakhir harus berbunyi, "Dalam bahasa Inggris yang sederhana, ini mengukur seberapa baik pengklasifikasi dibandingkan dengan menebak dengan target distribusi."
Silverfish

8

Nilai kappa Cohen apa yang kuat tergantung pada beberapa faktor termasuk misalnya, jumlah kategori atau kode yang digunakan mempengaruhi kappa1 dan probabilitas bahwa setiap kode akan diisi.

"Sebagai contoh, diberikan kode dan pengamat yang dapat disetel yang 85% akurat:

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

Sekarang, bagaimana jika kita tidak memiliki kode yang dapat disetel tetapi memiliki "tarif dasar" yang berbeda?

Untuk dua kode, plot kappa dari Bruckner et al. akan terlihat sepertimasukkan deskripsi gambar di sini

... Meskipun demikian (... melanjutkan kutipan Wikipedia) , pedoman magnitude telah muncul dalam literatur. Mungkin yang pertama adalah Landis dan Koch, yang mencirikan nilai-nilai

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

Namun seperangkat pedoman ini sama sekali tidak diterima secara universal; Landis dan Koch tidak memberikan bukti untuk mendukungnya, sebagai gantinya didasarkan pada pendapat pribadi. Telah dicatat bahwa pedoman ini mungkin lebih berbahaya daripada membantu. Pedoman Fleiss yang sama sewenang-wenangnya mencirikan kappa

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

(akhiri kutipan Wikipedia)

Untuk peningkatan (sulit untuk menemukan) program FalliObs Windows untuk memperhitungkan jumlah kode yang awalnya ditawarkan oleh Bakeman et al. ikuti tautan ke ComKappa3 . Uraian program menyatakan bahwa kesalahan standar kappa dapat diperkirakan, memungkinkan kappa yang diperoleh untuk diuji signifikansi terhadap distribusi nol (Bakeman & Gottman, 1997; Fleiss, Cohen, & Everitt, 1969). Untuk bacaan lebih lanjut untuk langkah-langkah kappa lainnya lihat ANALISIS STREAM PERILAKU .212

Juga lihat Menggunakan statistik kappa Cohen untuk mengevaluasi classifier biner untuk pertanyaan serupa.

1 Bakeman, R .; Quera, V .; McArthur, D .; Robinson, BF (1997). "Mendeteksi pola berurutan dan menentukan keandalannya dengan pengamat yang keliru". Metode Psikologis. 2: 357–370. doi: 10.1037 / 1082-989X.2.4.357

2 Robinson BF, Bakeman R. ComKappa: Program Windows '95 untuk menghitung kappa dan statistik terkait. Metode Penelitian Perilaku. 1998; 30: 731-2.


1

untuk menjawab pertanyaan Anda (dalam bahasa Inggris :-)):

Bagaimana Kappa membantu dalam mengevaluasi kinerja prediksi pengklasifikasi? Apa isinya? !!

Anda harus mempertimbangkan kappa sebagai ukuran kesepakatan antara 2 orang sehingga hasilnya dapat diartikan sebagai:

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
Jangan menerapkan skala ini secara membabi buta, baca jawaban dari rbx: "Tidak ada interpretasi standar dari statistik kappa. ... Landis dan Koch menganggap 0-0.20 sebagai sedikit, 0,21-0,40 sebagai adil, 0,41-0,60 sebagai moderat , 0,61-0,80 sebagai substansial, dan 0,81-1 sebagai hampir sempurna. Fleiss menganggap kappa> 0,75 sebagai sangat baik, 0,40-0,75 sebagai adil untuk baik, dan <0,40 miskin. Penting untuk dicatat bahwa kedua skala agak sewenang-wenang. Setidaknya dua pertimbangan lebih lanjut harus diperhitungkan ketika menafsirkan statistik kappa. " Pertimbangan ini dijelaskan dalam jawaban
rbx
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.