Saya sedang mengerjakan masalah klasifikasi biner di mana jauh lebih penting untuk tidak memiliki false positive; cukup banyak negatif palsu ok. Saya telah menggunakan banyak pengklasifikasi di sklearn misalnya, tetapi saya pikir tidak satupun dari mereka memiliki kemampuan untuk menyesuaikan tradeoff presisi-recall secara eksplisit (mereka menghasilkan hasil yang cukup bagus tetapi tidak dapat disesuaikan).
Klasifikasi apa yang memiliki presisi / penarikan yang dapat disesuaikan? Apakah ada cara untuk mempengaruhi tradeoff presisi / recall pada pengklasifikasi standar, misalnya Random Forest atau AdaBoost?
sumber
precision_recall_curve
menghitung seluruh F1. Bagaimana cara hanya menghitung yang negatif?Saya baru saja memecahkan ini untuk diri saya sendiri sebelum menabrak Q ini jadi saya telah memutuskan untuk membagikan solusi saya.
Ini menggunakan pendekatan yang sama yang telah diusulkan Marc Claesen tetapi menjawab pertanyaan aktual tentang bagaimana menyesuaikan classifier untuk bergerak lebih tinggi pada perdagangan sumbu presisi dari penarikan.
X_test adalah data dan y_test adalah label yang sebenarnya. Pengklasifikasi harus sudah terpasang.
Dan ini adalah bagaimana Anda akan menggunakan ambang minimal d learne d baru untuk menyesuaikan prediksi Anda (bahwa Anda hanya akan mendapatkan panggilan prediksi (X_test))
Senang sekali mendengar tanggapan Anda tentang resep penyesuaian ini.
sumber
Inilah fungsinya
http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html#sklearn.ensemble.RandomForestClassifier.predict_proba
yang menghasilkan probabilitas kelas. Kemudian gunakan berbagai metrik untuk menyesuaikan ambang, P, yang Anda gunakan dalam keputusan dengan mengikuti pseudo-code
jika p (y)> P, maka y = 1 yang lain y = 0 endif
sumber