Bagaimana cara memilih metrik kesalahan saat mengevaluasi suatu pengklasifikasi?
15
Saya telah melihat berbagai metrik kesalahan yang digunakan dalam kompetisi Kaggle: RMS, mean-square, AUC, dan lainnya. Apa aturan umum praktis dalam memilih metrik kesalahan, yaitu bagaimana Anda tahu metrik kesalahan mana yang digunakan untuk masalah yang diberikan? Apakah ada pedoman?
Kumpulan metrik kesalahan yang dapat Anda pilih berbeda antara klasifikasi dan regresi. Dalam yang terakhir Anda mencoba untuk memprediksi satu nilai kontinu, dan dengan klasifikasi Anda memprediksi kelas diskrit seperti "sehat" atau "tidak sehat". Dari contoh yang Anda sebutkan, root mean square error akan berlaku untuk regresi dan AUC untuk klasifikasi dengan dua kelas.
Biarkan saya memberi Anda sedikit lebih detail tentang klasifikasi. Anda menyebutkan AUC sebagai ukuran, yang merupakan area di bawah kurva ROC, yang biasanya hanya diterapkan pada masalah klasifikasi biner dengan dua kelas. Meskipun, ada cara untuk membangun kurva ROC untuk lebih dari dua kelas, mereka kehilangan kesederhanaan kurva ROC untuk dua kelas. Selain itu, kurva ROC hanya dapat dibangun jika classifier pilihan menghasilkan beberapa jenis skor yang terkait dengan setiap prediksi. Misalnya, regresi logistik akan memberi Anda probabilitas untuk masing-masing dari dua kelas. Selain kesederhanaannya, kurva ROC memiliki keuntungan karena kurva tersebut tidak dipengaruhi oleh rasio antara instance berlabel positif dan negatif dalam kumpulan data Anda dan tidak memaksa Anda untuk memilih ambang. Namun demikian, disarankan untuk tidak hanya melihat kurva ROC saja tetapi juga visualisasi lainnya. Saya akan merekomendasikan melihat kurva presisi-ingat dan kurva biaya.satu pengukuran kesalahan sejati, mereka semua memiliki kekuatan dan kelemahan mereka.
Sastra yang saya temukan bermanfaat dalam hal ini adalah:
Davis, J., & Goadrich, M. (2006). Hubungan antara Precision-Recall dan kurva ROC . Prosiding konferensi internasional ke-23 tentang pembelajaran Mesin (hlm. 233–240). New York, NY, AS: ACM
Jika pengklasifikasi Anda tidak memberikan semacam skor, Anda harus kembali ke langkah-langkah dasar yang dapat diperoleh dari matriks kebingungan yang berisi jumlah positif sejati, positif salah, negatif asli, dan negatif palsu. Visualisasi yang disebutkan di atas (ROC, presisi-recall, kurva biaya) semuanya didasarkan pada tabel-tabel ini yang diperoleh dengan menggunakan ambang batas yang berbeda dari skor classifier. Ukuran yang paling populer dalam hal ini mungkin adalah Ukuran-F1NN× NN2 × 2SEBUAHSEBUAH
Terima kasih banyak untuk menunjukkan kesalahan ini, saya memperbaikinya dalam jawaban di atas.
sebp
5
Biarkan saya menambahkan beberapa pemikiran ke jawaban yang sudah ada.
kebanyakan pengklasifikasi sebenarnya memiliki skor kontinu antara, di mana biasanya ambang batas untuk menetapkan kelas keras (di bawah t: kelas a, di atas: kelas b) diterapkan. Memvariasikan ambang ini menghasilkan ROC.
Secara umum, bukan ide yang baik untuk memampatkan kurva seperti itu menjadi satu angka. lihat misalnya Kasus Terhadap Estimasi Akurasi untuk Membandingkan Algoritma Induksi
Ada banyak ROC berbeda yang memiliki AUC yang sama, dan kegunaannya dapat sangat bervariasi untuk aplikasi yang diberikan.
sebaliknya: pilihan ambang mungkin cukup banyak ditentukan oleh aplikasi yang Anda miliki.
Anda tidak perlu melihat kinerja classifier di luar batas-batas ini dan jika Anda memilih satu metrik, yang setidaknya harus merangkum kisaran yang relevan dari metrik lainnya yang dibatasi.
tergantung pada desain studi Anda, fraksi keseluruhan sampel yang benar atau salah diklasifikasikan mungkin merupakan ringkasan yang tepat atau tidak, dan kesimpulan yang dapat Anda ambil darinya juga akan tergantung pada desain penelitian: Apakah data uji Anda mencerminkan probabilitas sebelumnya (prevalensi) dari kelas? Untuk populasi yang seharusnya digunakan oleh penggolong Anda? Apakah dikumpulkan secara bertingkat? Ini terkait erat dengan fakta bahwa sebagian besar pengguna pengklasifikasi lebih tertarik pada nilai prediksi, tetapi sensitivitas dan spesifisitas jauh lebih mudah untuk diukur.
Anda bertanya tentang pedoman umum. Satu pedoman umum adalah yang perlu Anda ketahui
kinerja seperti apa yang Anda butuhkan (sensitivitas, spesifisitas, nilai prediktif, dll., jawab pertanyaan spesifik tentang perilaku pengklasifikasi Anda, lihat apa yang saya tulis di sini ).
Rentang kerja apa yang dapat diterima untuk karakteristik kinerja ini untuk aplikasi Anda?
Ini dapat sangat bervariasi: Anda mungkin bersedia menerima beberapa kesalahan negatif dalam deteksi spam, tetapi itu tidak akan menjadi pengaturan yang dapat diterima untuk diagnosis HIV ...
Saya pikir Anda tidak akan dapat menemukan metrik yang berguna kecuali Anda dapat menjawab pertanyaan-pertanyaan ini.
Ini sedikit seperti tidak ada makan siang gratis di validasi classifier juga.
Tingkat kesalahan klasifikasi yang diharapkan adalah metode yang telah saya gunakan dan lihat paling sering. AUC dari ROC adalah ukuran dari seperangkat aturan klasifikasi. Jika idenya adalah untuk membandingkan classifier tertentu dengan yang lain maka AUC tidak sesuai. Beberapa bentuk kesalahan klasifikasi paling masuk akal karena mewakili paling langsung kinerja aturan klasifikasi.
Banyak pekerjaan telah dilakukan untuk menemukan estimasi yang baik dari tingkat kesalahan klasifikasi karena bias yang besar dari estimasi resubstitusi dan varians tinggi cuti-satu-keluar. Bootstrap dan estimator yang mulus telah conisdered. Lihat misalnya makalah Efron di JASA 1983 tentang peningkatan bootstrap atas validasi silang.
Membandingkan kinerja dua pengklasifikasi pada dataset yang sama adalah topik lain untuk diperdebatkan. Khususnya, dalam kasus ROC dan AUC ada beberapa metode untuk membandingkan kurva ROC secara keseluruhan atau perkiraan AUC. Itu pada dasarnya adalah uji statistik dengan hipotesis nol bahwa ROC / AUC tidak berbeda. Validasi silang vs bootstrap adalah topik menarik lainnya, baru-baru ini saya melihat makalah ( dx.doi.org/10.1016/j.csda.2010.03.004 ) tentang hal itu. Saya kira jika Anda mempertimbangkan semua aspek sekaligus, itu bisa sangat menakutkan.
Biarkan saya menambahkan beberapa pemikiran ke jawaban yang sudah ada.
Ada banyak ROC berbeda yang memiliki AUC yang sama, dan kegunaannya dapat sangat bervariasi untuk aplikasi yang diberikan.
tergantung pada desain studi Anda, fraksi keseluruhan sampel yang benar atau salah diklasifikasikan mungkin merupakan ringkasan yang tepat atau tidak, dan kesimpulan yang dapat Anda ambil darinya juga akan tergantung pada desain penelitian: Apakah data uji Anda mencerminkan probabilitas sebelumnya (prevalensi) dari kelas? Untuk populasi yang seharusnya digunakan oleh penggolong Anda? Apakah dikumpulkan secara bertingkat? Ini terkait erat dengan fakta bahwa sebagian besar pengguna pengklasifikasi lebih tertarik pada nilai prediksi, tetapi sensitivitas dan spesifisitas jauh lebih mudah untuk diukur.
Anda bertanya tentang pedoman umum. Satu pedoman umum adalah yang perlu Anda ketahui
Ini dapat sangat bervariasi: Anda mungkin bersedia menerima beberapa kesalahan negatif dalam deteksi spam, tetapi itu tidak akan menjadi pengaturan yang dapat diterima untuk diagnosis HIV ...
Saya pikir Anda tidak akan dapat menemukan metrik yang berguna kecuali Anda dapat menjawab pertanyaan-pertanyaan ini.
Ini sedikit seperti tidak ada makan siang gratis di validasi classifier juga.
sumber
Tingkat kesalahan klasifikasi yang diharapkan adalah metode yang telah saya gunakan dan lihat paling sering. AUC dari ROC adalah ukuran dari seperangkat aturan klasifikasi. Jika idenya adalah untuk membandingkan classifier tertentu dengan yang lain maka AUC tidak sesuai. Beberapa bentuk kesalahan klasifikasi paling masuk akal karena mewakili paling langsung kinerja aturan klasifikasi.
Banyak pekerjaan telah dilakukan untuk menemukan estimasi yang baik dari tingkat kesalahan klasifikasi karena bias yang besar dari estimasi resubstitusi dan varians tinggi cuti-satu-keluar. Bootstrap dan estimator yang mulus telah conisdered. Lihat misalnya makalah Efron di JASA 1983 tentang peningkatan bootstrap atas validasi silang.
Berikut ini adalah laporan teknis Universitas Stanford 1995 oleh Efron dan Tibshirami yang merangkum literatur termasuk beberapa karya saya sendiri.
sumber