Saya bertanya-tanya bagaimana cara menghitung presisi dan mengingat menggunakan matriks kebingungan untuk masalah klasifikasi multi-kelas. Secara khusus, pengamatan hanya dapat ditugaskan untuk kelas / label yang paling mungkin. Saya ingin menghitung:
- Presisi = TP / (TP + FP)
- Ingat kembali = TP / (TP + FN)
untuk setiap kelas, dan kemudian menghitung ukuran-mikro-rata-rata.
Jawaban:
Dalam kasus 2-hipotesis, matriks kebingungan biasanya:
tempat saya menggunakan sesuatu yang mirip dengan notasi Anda:
Dari data mentah, nilai-nilai dalam tabel biasanya akan menjadi jumlah untuk setiap kemunculan atas data uji. Dari ini, Anda harus dapat menghitung jumlah yang Anda butuhkan.
Sunting
Generalisasi untuk masalah multi-kelas adalah untuk menjumlahkan baris / kolom dari matriks kebingungan. Mengingat bahwa matriks berorientasi seperti di atas, yaitu, bahwa deretan matriks yang diberikan sesuai dengan nilai spesifik untuk "kebenaran", kami memiliki:
Yaitu, presisi adalah sebagian kecil dari peristiwa di mana kita dengan benar menyatakan dari semua contoh di mana algoritma menyatakan . Sebaliknya, mengingat adalah sebagian kecil dari peristiwa di mana kita dengan benar menyatakan keluar dari semua kasus di mana kebenaran keadaan dunia adalah .i i i i
sumber
i
tidak terdefinisi jika tidak ada contoh di mana algoritma menyatakani
. Penarikan kembali untuk kelasi
tidak ditentukan jika set tes tidak termasuk kelasi
.Ringkasan makalah yang bagus, melihat metrik ini untuk masalah multi-kelas:
Abstraknya berbunyi:
sumber
Menggunakan sklearn dan numpy:
Untuk mendapatkan ukuran presisi dan daya ingat keseluruhan, gunakan kemudian
sumber