Kurva ROC vs Precision-recall pada dataset tidak seimbang


17

Saya baru saja selesai membaca diskusi ini . Mereka berpendapat bahwa PR AUC lebih baik daripada ROC AUC pada dataset yang tidak seimbang.

Sebagai contoh, kami memiliki 10 sampel dalam dataset uji. 9 sampel positif dan 1 negatif. Kami memiliki model mengerikan yang memprediksi semuanya positif. Jadi, kita akan memiliki metrik bahwa TP = 9, FP = 1, TN = 0, FN = 0.

Kemudian, Precision = 0.9, Recall = 1.0. Presisi dan daya ingat keduanya sangat tinggi, tetapi kami memiliki klasifikasi yang buruk.

Di sisi lain, TPR = TP / (TP + FN) = 1.0, FPR = FP / (FP + TN) = 1.0. Karena FPR sangat tinggi, kami dapat mengidentifikasi bahwa ini bukan penggolong yang baik.

Jelas, ROC lebih baik daripada PR pada dataset yang tidak seimbang. Adakah yang bisa menjelaskan mengapa PR lebih baik?


1
Precision dan Recall keduanya mengabaikan False Negatives. Pembenaran biasa untuk menggunakan tradeoff PR (kurva atau skor-F) adalah bahwa jumlah Negatif dan Negatif Salah sangat besar relatif terhadap TP dan FP. Jadi TNR-> 1 dan FPR-> 0 (jumlah ke 1 dengan yang sama | Neg | penyebut). Jadi PR dalam hal ini mencerminkan (memperbesar atau memperbesar) pertukaran trade off TP vs FP, tetapi ini tidak bermakna dan yang relevan adalah peningkatan indeks Youden J (Informedness = TPR-FPR = TPR + TNR-1 = Sensitivitas + Spesifisitas-1) yang sesuai dengan dua kali area antara kurva titik operasi tunggal segitiga dan garis peluang ROC.
David MW Powers

2
@ Davidvidpower, mengapa tidak mengubahnya menjadi jawaban resmi? Itu sepertinya tanggapan yang sangat informatif bagi saya.
gung - Reinstate Monica

2
Presisi, daya ingat, sensitivitas, dan spesifisitas merupakan skor akurasi kehilangan-informasi yang terputus-putus yang tidak patut dan tidak boleh digunakan. Mereka bisa sangat bermasalah di bawah ketidakseimbangan. The -index (konkordansi probabilitas; AUROC) bekerja dengan baik di bawah keseimbangan ekstrim. Lebih baik: gunakan aturan penilaian akurasi yang tepat terkait dengan kemungkinan log atau skor Brier. c
Frank Harrell

Jawaban:


8

Pertama, klaim pada pos Kaggle palsu. Makalah yang mereka rujuk, " Hubungan Antara Precision-Recall dan Kurva ROC ", tidak pernah mengklaim bahwa PR AUC lebih baik daripada ROC AUC. Mereka hanya membandingkan properti mereka, tanpa menilai nilainya.

Kurva ROC terkadang bisa menyesatkan dalam beberapa aplikasi yang sangat tidak seimbang. Kurva ROC masih bisa terlihat cukup bagus (yaitu lebih baik daripada acak) sambil salah klasifikasi sebagian besar atau semua kelas minoritas.

Sebaliknya, kurva PR secara khusus dirancang untuk mendeteksi peristiwa langka dan cukup berguna dalam skenario tersebut. Mereka akan menunjukkan bahwa pengklasifikasi Anda memiliki kinerja yang rendah jika pengklasifikasian kesalahan sebagian besar atau semua kelas minoritas. Tetapi mereka tidak menerjemahkan dengan baik untuk kasus yang lebih seimbang, atau kasus di mana negatif jarang terjadi.

Selain itu, karena mereka peka terhadap probabilitas awal dari peristiwa positif, mereka tidak menggeneralisasi dengan baik dan hanya berlaku untuk dataset khusus tempat mereka dibangun, atau untuk datastet dengan keseimbangan yang sama persis. Ini berarti umumnya sulit untuk membandingkan kurva PR dari studi yang berbeda, membatasi kegunaannya.

Seperti biasa, penting untuk memahami alat-alat yang tersedia untuk Anda dan memilih yang tepat untuk aplikasi yang tepat. Saya sarankan membaca pertanyaan ROC vs kurva presisi-dan-ingat di sini di CV.


3

Contoh Anda pasti benar.

Namun, saya pikir dalam konteks kompetisi Kaggle / aplikasi kehidupan nyata, dataset miring biasanya berarti dataset dengan sampel jauh lebih sedikit positif daripada sampel negatif. Hanya dalam kasus ini, PR AUC lebih "bermakna" daripada ROC AUC.

Pertimbangkan detektor dengan TP = 9, FN = 1, TN = 900, FP = 90, di mana terdapat 10 sampel positif dan 990 negatif. TPR = 0,9, FPR = 0,1 yang menunjukkan skor ROC yang baik, namun Presisi = 0,1 yang menunjukkan skor PR yang buruk.


0

Anda setengah jalan ke sana.

Biasanya ketika saya melakukan model tidak seimbang, heck, bahkan model seimbang, saya melihat PR untuk SEMUA kelas saya.

Dalam contoh Anda, ya, kelas positif Anda memiliki P = 0,9 dan R = 1,0. Tapi yang harus Anda perhatikan adalah SEMUA kelas Anda. Jadi untuk kelas negatif Anda, P = 0 dan R = 0. Dan Anda biasanya tidak hanya melihat skor PR secara individual. Anda ingin melihat skor-F1 (makro makro atau mikro F1, tergantung pada masalah Anda) yang merupakan rata-rata harmonis dari nilai PR Anda untuk kelas 1 dan kelas 0. Skor PR kelas 1 Anda super bagus, tetapi gabungkan dengan skor PR kelas 0 Anda, skor F1 Anda akan TERRIBLE, yang merupakan kesimpulan yang tepat untuk skenario Anda.

TL, DR: Lihat skor PR untuk SEMUA kelas Anda, dan gabungkan dengan metrik seperti skor-F1 untuk mendapatkan kesimpulan yang realistis tentang kinerja model Anda. Skor F1 untuk skenario Anda adalah TERRIBLE, yang merupakan kesimpulan yang tepat untuk skenario Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.