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