Mudah untuk menemukan area penghitungan paket di bawah ROC, tetapi apakah ada paket yang menghitung area di bawah kurva presisi-recall?
14
Mudah untuk menemukan area penghitungan paket di bawah ROC, tetapi apakah ada paket yang menghitung area di bawah kurva presisi-recall?
Jawaban:
Per Juli 2016, paket PRROC bekerja sangat baik untuk menghitung ROC AUC dan PR AUC.
Dengan asumsi Anda sudah memiliki vektor probabilitas (disebut
probs
) yang dihitung dengan model Anda dan label kelas yang sebenarnya ada dalam bingkai data Anda karenadf$label
(0 dan 1) kode ini harus berfungsi:PS: Satu-satunya hal yang membingungkan adalah Anda gunakan
scores.class0 = fg
kapanfg
dihitung untuk label 1 dan bukan 0.Berikut adalah contoh kurva ROC dan PR dengan area di bawahnya:
Batangan di sebelah kanan adalah probabilitas ambang di mana titik pada kurva diperoleh.
Perhatikan bahwa untuk classifier acak, ROC AUC akan mendekati 0,5 terlepas dari ketidakseimbangan kelas. Namun, PR AUC itu rumit (lihat Apa itu "garis dasar" dalam kurva recall presisi ).
sumber
Sedikit googling mengembalikan satu paket bioc, qpgraph (
qpPrecisionRecall
), dan satu cran, minet (auc.pr
). Saya tidak punya pengalaman dengan mereka. Keduanya dirancang untuk menangani jaringan biologis.sumber
Setelah Anda mendapatkan kurva recall presisi
qpPrecisionRecall
, misalnya:Anda dapat menghitung AUC dengan melakukan ini:
halaman bantuan
qpPrecisionRecall
memberi Anda detail tentang struktur data apa yang diharapkan dalam argumennya.sumber
AUPRC()
adalah fungsi dalamPerfMeas
paket yang jauh lebih baik daripadapr.curve()
fungsi dalamPRROC
paket ketika data sangat besar.pr.curve()
adalah mimpi buruk dan membutuhkan waktu lama untuk diselesaikan ketika Anda memiliki vektor dengan jutaan entri.PerfMeas
Dibutuhkan detik sebagai perbandingan.PRROC
ditulis dalam R danPerfMeas
ditulis dalam C.sumber