Bagaimana cara memilih antara skor ROC AUC dan F1?

26

Saya baru-baru ini menyelesaikan kompetisi Kaggle di mana skor roc auc digunakan sesuai persyaratan kompetisi. Sebelum proyek ini, saya biasanya menggunakan skor f1 sebagai metrik untuk mengukur kinerja model. Ke depan, saya bertanya-tanya bagaimana saya harus memilih antara dua metrik ini? Kapan menggunakan yang mana, dan apa pro dan kontra masing-masing?

Btw, saya membaca artikel di sini Apa perbedaan antara AUC dan skor F1? , tetapi tidak memberi tahu saya kapan harus menggunakan yang mana.

Terima kasih sebelumnya atas bantuannya!

George Liu
sumber

Jawaban:

14

Tak satu pun dari langkah-langkah yang tercantum di sini adalah aturan penilaian akurasi yang tepat, yaitu aturan yang dioptimalkan oleh model yang benar. Pertimbangkan skor Brier dan tindakan berbasis log-kemungkinan seperti pseudo . The c -index (AUROC; konkordansi probabilitas) tidak tepat tapi baik untuk menggambarkan model tunggal. Itu tidak cukup sensitif untuk digunakan untuk memilih model atau membandingkan bahkan hanya dua model.R2c

Frank Harrell
sumber
Terima kasih atas balasan Anda, Frank! Saya perlu klarifikasi lebih lanjut. Jika kita hanya dapat memilih dari skor ROC AUC dan F1, yang mana yang akan Anda pilih dan mengapa? Apa pro dan kontra dari keduanya?
George Liu
2
Jika Anda hanya diperbolehkan memilih dari antara -index dan F1 Anda tidak cukup berdebat. Standar emas adalah log-likelihood, log-likelihood, atau setara Bayesian (misalnya, DIC). Di sebelahnya adalah skor Brier. c
Frank Harrell
2
Lihat citeulike.org/user/harrelfe/article/14321176 ; Saya telah menunjukkan ini dengan simulasi saya sendiri. Jika ketidakseimbangan bukan karena oversampling / undersampling, Anda dapat menggunakan aturan penilaian yang tepat terlepas dari ketidakseimbangan.
Frank Harrell
1
@ Frankharrell: tautannya sudah mati, bisakah Anda periksa kembali?
SiXUlm
13

Rumus perhitungan :

  • Precision TP / (TP + FP)
  • Ingat: TP / (TP + FN)
  • Skor-F1 : 2 / (1 / P + 1 / R)
  • ROC / AUC : TPR = TP / (TP + FN), FPR = FP / (FP + TN)

ROC / AUC adalah kriteria yang sama dan kurva PR (Precision-Recall) (skor-F1, Precision, Recall) juga kriteria yang sama.

Data nyata akan cenderung memiliki ketidakseimbangan antara sampel positif dan negatif. Ketidakseimbangan ini memiliki efek besar pada PR tetapi tidak pada ROC / AUC.

Jadi di dunia nyata, kurva PR lebih banyak digunakan karena sampel positif dan negatif sangat tidak merata. Kurva ROC / AUC tidak mencerminkan kinerja classifier, tetapi kurva PR dapat.

Jika Anda hanya melakukan percobaan di makalah penelitian, Anda dapat menggunakan ROC, hasil eksperimen akan lebih indah. Di sisi lain, kurva PR digunakan dalam masalah nyata, dan memiliki interpretasi yang lebih baik.

WeiYuan
sumber
7

Jawaban di atas sama-sama baik.

Skew=negativeexamplespositiveexamples

Dengan data yang tidak seimbang, AUC masih memberi Anda nilai khusus sekitar 0,8. Namun, itu tinggi karena FP besar, daripada TP besar (Benar positif).

Seperti contoh di bawah ini,

TP=155,   FN=182
FP=84049, TN=34088

Jadi ketika Anda menggunakan AUC untuk mengukur kinerja classifier, masalahnya adalah peningkatan AUC tidak benar-benar mencerminkan classifier yang lebih baik. Ini hanyalah efek samping dari terlalu banyak contoh negatif. Anda cukup mencoba di dataset Anda.

Fβ=(1+β2)precisionrecall(β2precision)+recall

β

Kemudian, saran saya untuk data yang tidak seimbang mirip dengan posting ini . Anda juga dapat mencoba tabel decile, yang dapat dikonstruksikan dengan mencari "Dua-per-Dua Klasifikasi dan Tabel Decile". Sementara itu, saya juga mempelajari masalah ini dan akan memberikan ukuran yang lebih baik.

Xiaorui Zhu
sumber
Jika Anda peduli dengan kinerja suatu metode, Anda sebaiknya menggunakan ROC untuk menunjukkan kinerja klasifikasinya, tetapi jika Anda lebih peduli pada prediksi aktual positif sebenarnya, skor F1 diterima di industri.
Xiaorui Zhu
2
Dalam lingkungan bisnis nyata, biaya positif palsu dan biaya negatif palsu dapat diperkirakan. Kemudian klasifikasi akhir harus didasarkan pada model probabilistik dan ambang klasifikasi yang dipilih untuk meminimalkan biaya klasifikasi palsu. Saya tidak terlalu memikirkan keakuratan, atau skor F memiliki banyak aplikasi aktual untuk ilmuwan data yang disiplin.
Matthew Drury
Ya, saya setuju dengan prosedur metode pengambilan keputusan yang meminimalisir biaya kesalahan klasifikasi dan kemungkinan model cut-off. Dan dalam beberapa kasus, biaya asimetris dapat diterapkan untuk FP dan FN. Tetapi titik akurasi dan skor F adalah untuk memeriksa kinerja keseluruhan model atau membandingkan kinerja di antara beberapa model. Memang, dengan data di tangan sebagai ilmuwan data, minimalisasi biaya mungkin selalu mungkin. Tetapi saya ingin tahu tentang apakah data ilmuwan dalam kebutuhan praktis distribusi (atau variasi) dari solusi masalah keputusan. Saya ingin tahu apakah Anda bisa berbagi beberapa dengan me.Thx
Xiaorui Zhu
1
Secara pribadi, saya akan selalu mengevaluasi kebaikan kesesuaian model berdasarkan probabilitas kondisional yang diprediksinya. Jadi saya akan selalu membandingkan model menggunakan aturan penilaian yang tepat seperti log-loss, gunakan bootstrap untuk memastikan perbaikan tidak berisik, dan mungkin melengkapi dengan AUC.
Matthew Drury
2
Saya pikir itu tidak benar. AUC secara khusus dibangun agar tidak peka terhadap ketidakseimbangan kelas, saya telah melakukan simulasi yang luas tentang hal ini dan menemukan bahwa itu benar. Juga, ketika membandingkan model, mereka harus membangun set data yang diambil dari populasi yang sama, membuat masalah dengan ketidakseimbangan kelas.
Matthew Drury
4

Untuk memasukkan kata-kata yang sangat sederhana ketika Anda memiliki ketidakseimbangan data yaitu, perbedaan antara jumlah contoh yang Anda miliki untuk kelas positif dan negatif adalah besar, Anda harus selalu menggunakan skor-F1. Kalau tidak, Anda bisa menggunakan kurva ROC / AUC.

balboa
sumber
Definisi "ketidakseimbangan data" Anda sedemikian rupa sehingga Anda akan selalu menggunakan skor-F1, jadi ini tidak banyak membantu. Mungkin Anda bisa sedikit mengembangkan ini?
jbowman
Saya telah melewatkan satu kata yang sangat penting di sana ... permintaan maaf. Mengedit respons saya. Beri tahu saya jika Anda membutuhkan lebih banyak klarifikasi.
balboa
1

Untuk beberapa masalah klasifikasi multi-kelas, menganalisis dan memvisualisasikan ROC / AUC tidak mudah. Anda mungkin melihat pertanyaan ini, Bagaimana cara merencanakan kurva ROC dalam klasifikasi multi-kelas? . Dalam situasi seperti itu, menggunakan skor F1 bisa menjadi metrik yang lebih baik.

Dan skor F1 adalah pilihan umum untuk masalah pencarian informasi dan populer di pengaturan industri. Berikut adalah contoh yang dijelaskan dengan baik, Membangun model ML sulit. Menyebarkan mereka di lingkungan bisnis nyata lebih sulit .

Ling Ma
sumber
1

Jika tujuan klasifikasi adalah penilaian berdasarkan probabilitas, lebih baik menggunakan AUC yang rata-rata di atas semua ambang batas yang mungkin. Namun, jika tujuan klasifikasi hanya perlu mengklasifikasikan antara dua kelas yang mungkin dan tidak memerlukan seberapa besar kemungkinan masing-masing kelas diprediksi oleh model, lebih tepat untuk mengandalkan skor-F menggunakan ambang batas tertentu.

Bharat Ram Ammu
sumber