Saya mencoba pengaturan klasifikasi multi kelas dengan 3 kelas. Distribusi kelas miring dengan sebagian besar data termasuk dalam 1 dari 3 kelas. (label kelas menjadi 1,2,3, dengan 67,28% dari data termasuk dalam label kelas 1, data 11,99% di kelas 2, dan sisanya di kelas 3)
Saya melatih classifier multiclass pada dataset ini dan saya mendapatkan kinerja berikut:
Precision Recall F1-Score
Micro Average 0.731 0.731 0.731
Macro Average 0.679 0.529 0.565
Saya tidak yakin mengapa semua Micro rata-rata. pertunjukan adalah sama dan juga mengapa rata-rata kinerja Makro sangat rendah.
multiclass-classification
evaluation
SHASHANK GUPTA
sumber
sumber
Jawaban:
Mikro dan makro rata-rata (untuk metrik apa pun) akan menghitung hal-hal yang sedikit berbeda, dan dengan demikian interpretasinya berbeda. Rata-rata makro akan menghitung metrik secara independen untuk setiap kelas dan kemudian mengambil rata-rata (karenanya memperlakukan semua kelas secara merata), sedangkan rata-rata mikro akan mengumpulkan kontribusi semua kelas untuk menghitung metrik rata-rata. Dalam pengaturan klasifikasi multi-kelas, rata-rata mikro lebih disukai jika Anda menduga ada ketidakseimbangan kelas (yaitu Anda mungkin memiliki lebih banyak contoh satu kelas daripada kelas lainnya).
Untuk menggambarkan alasannya, ambil contoh presisi . Bayangkan Anda memiliki sistem klasifikasi multi-kelas One-vs-All (hanya ada satu output yang benar per contoh) dengan empat kelas dan angka-angka berikut ketika diuji:Pr = TP( TP+ FP)
Anda dapat melihat dengan mudah bahwa , sedangkan .PrSEBUAH= PrC= PrD= 0,5 PrB= 0,1
Ini adalah nilai yang sangat berbeda untuk presisi. Secara intuitif, dalam rata-rata makro presisi "baik" (0,5) dari kelas A, C dan D berkontribusi untuk mempertahankan presisi keseluruhan "baik" (0,4). Meskipun ini benar secara teknis (lintas kelas, presisi rata-rata adalah 0,4), ini agak menyesatkan, karena sejumlah besar contoh tidak diklasifikasikan dengan benar. Contoh-contoh ini sebagian besar sesuai dengan kelas B, sehingga mereka hanya berkontribusi 1/4 terhadap rata-rata meskipun merupakan 94,3% dari data pengujian Anda. Rata-rata mikro akan secara memadai menangkap ketidakseimbangan kelas ini, dan membawa rata-rata presisi keseluruhan turun ke 0,123 (lebih sesuai dengan ketepatan kelas B yang mendominasi (0,1)).
Untuk alasan komputasi, kadang-kadang mungkin lebih nyaman untuk menghitung rata-rata kelas dan kemudian rata-rata makro. Jika ketidakseimbangan kelas diketahui sebagai masalah, ada beberapa cara untuk mengatasinya. Pertama adalah melaporkan tidak hanya rata-rata makro, tetapi juga standar deviasinya (untuk 3 kelas atau lebih). Lain adalah untuk menghitung rata-rata makro tertimbang, di mana setiap kontribusi kelas rata-rata tertimbang oleh jumlah relatif contoh yang tersedia untuk itu. Dalam skenario di atas, kami memperoleh:
Deviasi standar yang besar (0,173) telah memberi tahu kita bahwa rata-rata 0,4 tidak berasal dari ketepatan seragam di antara kelas-kelas, tetapi mungkin lebih mudah untuk menghitung rata-rata makro tertimbang, yang pada dasarnya adalah cara lain menghitung rata-rata mikro .
sumber
Posting Asli - http://rushdishams.blogspot.in/2011/08/micro-and-macro-average-of-precision.html
Dalam metode Mikro-rata-rata, Anda meringkas masing-masing positif benar, positif salah, dan negatif palsu sistem untuk perangkat yang berbeda dan menerapkannya untuk mendapatkan statistik.
Tricky, tetapi saya menemukan ini sangat menarik. Ada dua metode dimana Anda bisa mendapatkan statistik rata-rata pengambilan informasi dan klasifikasi.
1. Metode Mikro-rata-rata
Dalam metode Mikro-rata-rata, Anda meringkas masing-masing positif benar, positif salah, dan negatif palsu sistem untuk perangkat yang berbeda dan menerapkannya untuk mendapatkan statistik. Misalnya, untuk satu set data, sistem
Kemudian presisi (P1) dan recall (R1) akan menjadi dan57.14%=TP1TP1+FP1 80%=TP1TP1+FN1
dan untuk set data yang berbeda, sistem
Kemudian presisi (P2) dan recall (R2) akan menjadi 68,49 dan 84,75
Sekarang, rata-rata presisi dan daya ingat sistem menggunakan metode Micro-average
F-Score Mikro rata-rata hanya akan menjadi rata-rata harmonik dari kedua angka ini.
2. Metode rata-rata makro
Metode ini lurus ke depan. Ambil saja rata-rata presisi dan daya ingat sistem pada perangkat yang berbeda. Misalnya, presisi rata-rata makro dan penarikan kembali sistem untuk contoh yang diberikan adalah
Skor-rata-rata Makro akan menjadi rata-rata harmonik dari kedua angka ini.
Kecocokan Metode rata-rata makro dapat digunakan ketika Anda ingin tahu bagaimana kinerja sistem secara keseluruhan di seluruh set data. Anda tidak boleh membuat keputusan khusus dengan rata-rata ini.
Di sisi lain, mikro-rata-rata bisa menjadi ukuran yang berguna ketika dataset Anda bervariasi ukurannya.
sumber
Dalam pengaturan multi-kelas, presisi dan daya ingat rata-rata mikro selalu sama.
Karena dalam pengaturan multi-kelas Anda menghitung semua contoh palsu ternyata
Karenanya P = R. Dengan kata lain, setiap Prediksi Salah tunggal akan menjadi False Positive untuk sebuah kelas, dan setiap Negatif Tunggal akan menjadi False Negative untuk sebuah kelas. Jika Anda memperlakukan kasus klasifikasi biner sebagai klasifikasi dua kelas dan menghitung ketelitian rata-rata mikro dan memanggilnya akan sama.
Jawaban yang diberikan oleh Rahul adalah dalam hal rata-rata presisi biner dan penarikan kembali dari banyak dataset. Dalam hal ini presisi dan penarikan rata-rata mikro berbeda.
sumber
Begitulah seharusnya. Saya memiliki hasil yang sama untuk penelitian saya. Awalnya terasa aneh. Tetapi ketepatan dan daya ingat harus sama ketika mikro-rata-rata hasil dari multi-class-label classifier tunggal. Ini karena jika Anda menganggap kesalahan klasifikasi c1 = c2 (di mana c1 dan c2 adalah 2 kelas yang berbeda), kesalahan klasifikasi adalah positif palsu (fp) berkenaan dengan c2 dan false negatif (fn) berkenaan dengan c1. Jika Anda menjumlahkan fn dan fp untuk semua kelas, Anda mendapatkan nomor yang sama karena Anda menghitung setiap kesalahan klasifikasi sebagai fp sehubungan dengan satu kelas dan fn sehubungan dengan kelas lain.
sumber
Saya pikir alasan mengapa rata-rata makro lebih rendah dari rata-rata mikro dijelaskan dengan baik oleh jawaban pythiest (kelas yang mendominasi memiliki prediksi yang lebih baik sehingga kenaikan rata-rata mikro).
Tetapi fakta bahwa rata-rata mikro sama untuk skor Precision, Recall dan F1 adalah karena rata-rata mikro metrik ini menghasilkan Akurasi keseluruhan (karena rata-rata mikro menganggap semua kelas sebagai positif). Perhatikan bahwa jika Precision dan Recall sama maka skor F1 sama dengan precision / recall.
Adapun pertanyaan apakah "rata-rata makro tertimbang" selalu akan sama dengan "rata-rata mikro"? Saya melakukan beberapa percobaan dengan no berbeda. kelas dan ketidakseimbangan kelas yang berbeda dan ternyata ini tidak perlu benar.
Pernyataan ini dibuat dengan asumsi bahwa kami mempertimbangkan semua kelas dataset yang sama (berbeda dengan jawaban Rahul Reddy Vemireddy)
sumber
keuntungan menggunakan Skor Makro F1 adalah memberikan bobot yang sama untuk semua titik data, misalnya: mari kita anggap sebagai mikro F1 mengambil Jumlah semua Pengambilan dan Pengakuan label yang berbeda secara independen, jadi ketika kita memiliki ketidakseimbangan kelas seperti T1 = 90%, T2 = 80%, T3 = 5 maka F1 Mikro memberikan bobot yang sama untuk semua kelas dan tidak terpengaruh oleh penyimpangan dalam distribusi kelas log. Log loss. Ia menghukum penyimpangan kecil di kelas.
sumber