Saya menggunakan classifier yang mengembalikan probabilitas. Untuk menghitung AUC, saya menggunakan paket-pROC. Probabilitas keluaran dari classifier adalah:
probs=c(0.9865780,
0.9996340,
0.9516880,
0.9337157,
0.9778576,
0.8140116,
0.8971550,
0.8967585,
0.6322902,
0.7497237)
probs
menunjukkan kemungkinan berada di kelas '1'. Seperti yang ditunjukkan, classifier telah mengklasifikasikan semua sampel di kelas '1'.
Vektor label sejati adalah:
truel=c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0)
Seperti yang ditunjukkan, classifier telah salah mengelompokkan 5 sampel. Tapi, AUC adalah:
pROC::auc(truel, probs)
Area under the curve: 1
Bisakah Anda jelaskan kepada saya mengapa itu terjadi?
machine-learning
auc
pengguna4704857
sumber
sumber
Jawaban:
AUC adalah ukuran kemampuan untuk memberi peringkat contoh sesuai dengan probabilitas keanggotaan kelas. Jadi jika semua probabilitas di atas 0,5 Anda masih dapat memiliki AUC satu jika semua pola positif memiliki probabilitas lebih tinggi daripada semua pola negatif. Dalam hal ini akan ada ambang keputusan yang lebih tinggi dari 0,5, yang akan memberikan tingkat kesalahan nol. Perhatikan bahwa karena AUC hanya mengukur peringkat probabilitas, ia tidak memberi tahu Anda jika probabilitas dikalibrasi dengan baik (misalnya tidak ada bias sistematis), jika kalibrasi probabilitas penting, maka perhatikan metrik lintas-entropi.
sumber
Jawaban lain menjelaskan apa yang terjadi tetapi saya pikir gambar mungkin bagus.
Anda dapat melihat bahwa kelas-kelas dipisahkan dengan sempurna, sehingga AUC adalah 1, tetapi ambang pada 1/2 akan menghasilkan tingkat kesalahan klasifikasi 50%.
sumber
Sampel tidak "salah diklasifikasikan" sama sekali. The
0
contoh adalah peringkat ketat rendah dari1
contoh. AUROC melakukan apa yang didefinisikan untuk dilakukan, yaitu mengukur probabilitas bahwa yang dipilih secara acak1
memiliki peringkat yang lebih tinggi daripada yang dipilih secara acak0
. Dalam sampel ini, ini selalu benar, jadi itu adalah probabilitas 1 peristiwa.Tom Fawcett memiliki artikel ekspositori yang bagus tentang kurva ROC. Saya sarankan mulai dari sana.
Tom Fawcett. "Pengantar Analisis ROC." Pengenalan Pola Surat. 2005
sumber