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?
sumber
Jawaban:
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.
sumber
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.
sumber
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.
sumber