Dalam diskusi: bagaimana membuat kurva roc untuk klasifikasi biner , saya pikir kebingungannya adalah "binary classifier" (yang mana setiap classifier yang memisahkan 2 kelas) adalah untuk Yang yang disebut "discrete classifier" (yang menghasilkan keluaran diskrit 0/1 seperti SVM) dan bukan keluaran kontinu seperti pengklasifikasi JST atau Bayes ... dll. Jadi, pembahasannya adalah tentang bagaimana ROC diplot untuk "pengklasifikasi biner kontinu", dan jawabannya adalah bahwa keluaran diurutkan oleh skor mereka karena output kontinu, dan ambang digunakan untuk menghasilkan setiap titik pada kurva ROC.
Pertanyaan saya adalah untuk "classifier biner diskrit", seperti SVM, nilai outputnya adalah 0 atau 1. Jadi ROC hanya menghasilkan satu titik dan bukan kurva. Saya bingung mengapa kita masih menyebutnya kurva? !! Bisakah kita masih berbicara tentang ambang batas? Bagaimana cara menggunakan ambang batas dalam SVM secara khusus? Bagaimana seseorang menghitung AUC ?, Apakah validasi silang memainkan peran apa pun di sini?
sumber
Jawaban:
Ya, ada situasi di mana kurva operasi penerima yang biasa tidak dapat diperoleh dan hanya ada satu titik.
SVM dapat diatur sehingga menghasilkan probabilitas keanggotaan kelas. Ini akan menjadi nilai biasa dimana ambang akan bervariasi untuk menghasilkan kurva operasi penerima .
Apakah itu yang Anda cari?
Langkah-langkah dalam ROC biasanya terjadi dengan sejumlah kecil kasus uji daripada ada hubungannya dengan variasi diskrit dalam kovariat (terutama, Anda berakhir dengan poin yang sama jika Anda memilih ambang diskrit Anda sehingga untuk setiap titik baru hanya satu perubahan sampel tugasnya).
Secara terus menerus memvariasikan parameter lain (hiper) dari model tentu saja menghasilkan serangkaian pasangan spesifisitas / sensitivitas yang memberikan kurva lain dalam sistem koordinat FPR; TPR.
Interpretasi kurva tentu saja tergantung pada variasi apa yang menghasilkan kurva.
Berikut ini adalah ROC biasa (yaitu meminta probabilitas sebagai output) untuk kelas "versicolor" dari set data iris:
Jenis sistem koordinat yang sama, tetapi TPR dan FPR sebagai fungsi dari parameter tuning γ dan C:
FPR; TPR (γ, C = 1, ambang batas probabilitas = 0,5):
FPR; TPR (γ = 1, C, ambang batas probabilitas = 0,5):
Plot-plot ini memang memiliki makna, tetapi maknanya jelas berbeda dari ROC yang biasa!
Inilah kode R yang saya gunakan:
sumber
these plots do have a meaning
- apa arti dari plot itu?Biasanya, label yang diprediksi dari SVM diberikan oleh , di mana adalah SVM-dioptimalkan bobot hyper-plane, dan adalah intersep yang dioptimalkan SVM. Ini juga dapat ditulis ulang sebagai berikut: y =tanda(wTx+b)wb yy^ y^= tanda ( wTx +b) w b
Namun, jika kami memperkenalkan ambang , kami dapat mengontrol tingkat deteksi positif dengan memvariasikan , yaitu n yη η
Dengan memvariasikan , kita dapat menghasilkan ROC menggunakan SVM, dan dengan demikian menyesuaikan tingkat sensitivitas dan spesifisitas.η
Sebagai contoh, jika kita ingin melakukannya dengan python, kita dapat mengekstraksi dan menggunakan ambang sebagai berikut. bηw b η
sumber
Kurva ROC plot spesifisitas vs sensitivitas yang bervariasi dengan ambang kovariat (yang mungkin kontinu atau diskrit). Saya pikir Anda membingungkan kovariat dengan respons dan mungkin tidak sepenuhnya memahami apa itu kurva ROC. Ini tentu saja kurva jika kovariat kontinu dan kita melihat ambang batas untuk kovariat yang berubah terus menerus. Jika kovariat terpisah, Anda masih dapat memplotnya sebagai fungsi dari ambang kontinu. Kemudian kurva akan rata dengan langkah-langkah ke atas (atau ke bawah) pada ambang batas yang sesuai dengan nilai-nilai diskrit kovariat. Jadi ini akan berlaku untuk SVM dan pengklasifikasi diskrit lainnya.
Mengenai AUC karena kami masih memiliki ROC (yang diperkirakan) kami masih dapat menghitung area di bawahnya. Saya tidak yakin apakah ada dalam pikiran Anda dengan pertanyaan Anda tentang validasi silang. Dalam konteks klasifikasi masalah, validasi silang digunakan untuk mendapatkan estimasi tingkat kesalahan yang tidak bias atau hampir tidak bias untuk pengklasifikasi. Jadi itu bisa masuk ke dalam bagaimana kita memperkirakan poin pada ROC.
sumber