Bagaimana cara menentukan ambang optimal untuk classifier dan menghasilkan kurva ROC?

27

Katakanlah kita memiliki classifier SVM, bagaimana kita menghasilkan kurva ROC? (Seperti secara teoritis) (karena kita menghasilkan TPR dan FPR dengan masing-masing ambang). Dan bagaimana kita menentukan ambang batas optimal untuk klasifikasi SVM ini?

RockTheStar
sumber
2
Mungkin ini akan membantu stackoverflow.com/questions/28719067/…
prashanth

Jawaban:

14

Gunakan classifier SVM untuk mengklasifikasikan satu set contoh beranotasi, dan "satu titik" pada ruang ROC berdasarkan satu prediksi dari contoh dapat diidentifikasi. Misalkan jumlah contoh adalah 200, pertama hitung jumlah contoh dari empat kasus.

lSebuahbeledtrkamuelSebuahbeledfSebuahlsehalredsayactedtrkamue7128halredsayactedfSebuahlse5744


TPR=71/(71+57)=0,5547FPR=28/(28+44)=0,3889(0,3889,0,5547)



Sebagai contoh, jika konsentrasi protein tertentu di atas α% menandakan penyakit, nilai α yang berbeda menghasilkan nilai TPR dan FPR akhir yang berbeda. Nilai ambang batas dapat ditentukan secara sederhana dengan cara yang mirip dengan pencarian kisi; label contoh pelatihan dengan nilai ambang yang berbeda, latih pengklasifikasi dengan sekumpulan contoh berlabel yang berbeda, jalankan penggolong pada data uji, hitung nilai FPR, dan pilih nilai ambang yang mencakup rendah (mendekati 0) dan tinggi (dekat ke 1) FPR nilai, yaitu, mendekati 0, 0,05, 0,1, ..., 0,95, 1

(2) Hasilkan banyak set contoh beranotasi
(3) Jalankan pengklasifikasi pada set contoh
(4) Hitung titik (FPR, TPR) untuk masing-masing
(5) Gambarlah kurva ROC terakhir

Beberapa detail dapat diperiksa di http://en.wikipedia.org/wiki/Receiver_operating_characteristic .

Selain itu, kedua tautan ini bermanfaat tentang cara menentukan ambang batas optimal. Metode sederhana adalah mengambil metode dengan jumlah maksimal dari nilai positif benar dan negatif palsu. Kriteria yang lebih baik lainnya mungkin termasuk variabel lain yang melibatkan ambang yang berbeda seperti biaya keuangan, dll.
Http://www.medicalbiostatistics.com/roccurve.pdf
http://www.kovcomp.co.uk/support/XL-Tut/life-ROC -curves-receiver-operating-karakteristik.html

Tom
sumber
5
Terima kasih atas penjelasan Anda, bagaimana dengan ambang batas optimal?
RockTheStar
1
Maaf, saya mengetahui bahwa ambang optimal adalah istilah khusus sebelumnya. Setelah mencari, saya menemukan bahwa bab "3.5 Memilih Ambang Optimal" dari buku "Menganalisis Kurva Karakteristik Operasi Penerima dengan SAS" di Google Book memiliki beberapa penjelasan terperinci tentang pemilihan ambang optimal. Dua cara yang banyak digunakan seperti yang dijelaskan di dalamnya adalah memilih ambang yang akan membuat prediksi biner yang dihasilkan (1) sedekat mungkin dengan prediktor sempurna. (2) sejauh mungkin dari prediktor non-informatif
Tom
Keren, di mana saya dapat menemukan referensi? Terima kasih!
RockTheStar
2
Ya, apa artinya "jauh dari prediktor non-informatif"? Silakan tambahkan referensi.
Simone
1
Selain itu, saya juga baru membaca dari sana bahwa ada banyak kriteria untuk menentukan ambang batas yang optimal. Misalnya, kriteria sederhana adalah bahwa di antara semua ambang batas, pilih satu dengan jumlah maksimum nilai positif-benar dan salah-negatif. Ada juga kriteria lain yang lebih canggih.
Tom
3

Cara yang sangat mudah untuk memilih ambang batas adalah dengan mengambil nilai median prediksi dari kasus positif untuk satu set tes. Ini menjadi ambang batas Anda.

Ambang datang relatif dekat dengan ambang yang sama Anda akan dapatkan dengan menggunakan kurva roc di mana true positive rate (tpr) dan 1 - false positive rate (fpr) tumpang tindih. Lintas tpr (lintas) 1-fpr ini memaksimalkan benar positif sambil meminimalkan negatif palsu.

Ish Mitch
sumber
Saya melihat. Nilai prediksi median. Terima kasih untuk sarannya.
RockTheStar
2
Apakah ada sumber untuk metode ini?
JEquihua
1
Ini sama dengan memilih titik dengan TPR = 0,5 pada kurva ROC, yang terdengar sangat arbitrer.
Bananin
Nilai prediksi median? Dan apa yang terjadi jika Anda memiliki ketidakseimbangan kelas 1000: 1?
ldmtwo
3

Pilih titik yang paling dekat dengan sudut kiri atas ruang ROC Anda. Sekarang ambang yang digunakan untuk menghasilkan titik ini harus yang optimal.

dr_rk
sumber
2
Bagaimana cara melakukan ini secara otomatis?
ldmtwo
1

TPR-FPR

Bananin
sumber