Apa keuntungan dari kurva ROC?
Sebagai contoh, saya mengklasifikasikan beberapa gambar yang merupakan masalah klasifikasi biner. Saya mengekstraksi sekitar 500 fitur dan menerapkan algoritma pemilihan fitur untuk memilih satu set fitur kemudian saya menerapkan SVM untuk klasifikasi. Dalam hal ini, bagaimana saya bisa mendapatkan kurva ROC? Haruskah saya mengubah nilai ambang batas dari algoritma pemilihan fitur saya dan mendapatkan sensitivitas dan spesifisitas dari output untuk menggambar kurva ROC?
Dalam kasus saya, apa tujuan membuat kurva ROC?
machine-learning
roc
pengguna570593
sumber
sumber
Jawaban:
Banyak algoritma klasifikasi biner menghitung semacam skor klasifikasi (kadang-kadang tetapi tidak selalu ini adalah kemungkinan berada dalam keadaan target), dan mereka mengklasifikasikan berdasarkan apakah skor berada di atas ambang batas tertentu atau tidak. Melihat kurva ROC memungkinkan Anda melihat pertukaran antara sensitivitas dan spesifisitas untuk semua ambang batas yang mungkin, bukan hanya yang dipilih oleh teknik pemodelan. Tujuan klasifikasi yang berbeda mungkin membuat satu titik pada kurva lebih cocok untuk satu tugas dan yang lainnya lebih cocok untuk tugas yang berbeda, sehingga melihat kurva ROC adalah cara untuk menilai model yang independen dari pilihan ambang batas.
sumber
Kurva ROC tidak informatif dalam 99% kasus yang saya lihat selama beberapa tahun terakhir. Mereka tampaknya dianggap wajib oleh banyak ahli statistik dan bahkan lebih banyak praktisi pembelajaran mesin. Dan pastikan masalah Anda benar-benar masalah klasifikasi dan bukan masalah estimasi risiko. Inti dari masalah dengan kurva ROC adalah bahwa mereka mengundang pengguna untuk menggunakan cutpoint untuk variabel kontinu, dan mereka menggunakan probabilitas mundur, yaitu probabilitas peristiwa yang berada dalam urutan waktu terbalik (sensitivitas dan spesifisitas). Kurva ROC tidak dapat digunakan untuk menemukan pengorbanan yang optimal kecuali dalam kasus yang sangat khusus di mana pengguna aturan keputusan menyerahkan fungsi kehilangan (biaya; utilitas) mereka kepada analis.
sumber
Setelah membuat kurva ROC, AUC (area di bawah kurva) dapat dihitung. AUC adalah akurasi pengujian di banyak ambang batas. AUC = 1 berarti tes ini sempurna. AUC = .5 berarti melakukan peluang untuk klasifikasi biner.
Jika ada banyak model, AUC menyediakan pengukuran tunggal untuk membandingkan berbagai model. Selalu ada trade-off dengan ukuran apa pun tetapi AUC adalah tempat yang baik untuk memulai.
sumber
AUC tidak membandingkan kelas nyata vs diprediksi satu sama lain. Ini bukan melihat kelas yang diprediksi, tetapi skor prediksi atau probabilitas. Anda dapat melakukan prediksi kelas dengan menerapkan cutoff pada skor ini, katakanlah, setiap sampel yang mendapat skor di bawah 0,5 diklasifikasikan sebagai negatif. Tetapi ROC datang sebelum itu terjadi. Ini bekerja dengan probabilitas skor / kelas.
Dibutuhkan skor ini dan mengurutkan semua sampel sesuai dengan skor itu. Sekarang, setiap kali Anda menemukan sampel positif, kurva ROC membuat langkah maju (sepanjang sumbu y). Setiap kali Anda menemukan sampel negatif, Anda bergerak ke kanan (sepanjang sumbu x). Jika skor itu berbeda untuk kedua kelas, sampel positif didahulukan (biasanya). Itu berarti Anda membuat lebih banyak langkah daripada ke kanan. Lebih jauh ke bawah daftar sampel negatif akan datang, sehingga Anda bergerak ke kiri. Ketika Anda melalui seluruh daftar sampel yang Anda capai di koordinat (1,1) yang sesuai dengan 100% positif dan 100% sampel negatif.
Jika skor memisahkan positif dengan positif dari sampel negatif, Anda berpindah dari (x = 0, y = 0) ke (1,0) dan kemudian dari sana ke (1, 1). Jadi, area di bawah kurva adalah 1.
Jika skor Anda memiliki distribusi yang sama untuk sampel positif dan negatif, probabilitas untuk menemukan sampel positif atau negatif dalam daftar diurutkan adalah sama dan oleh karena itu probabilitas untuk bergerak ke atas atau ke kiri dalam kurva ROC adalah sama. Itulah sebabnya Anda bergerak sepanjang diagonal, karena pada dasarnya Anda bergerak ke atas dan ke kiri, dan ke atas dan ke kiri, dan seterusnya ... yang memberikan nilai AROC sekitar 0,5.
Dalam kasus dataset yang tidak seimbang, ukuran langkahnya berbeda. Jadi, Anda membuat langkah lebih kecil ke kiri (jika Anda memiliki lebih banyak sampel negatif). Itulah sebabnya skornya kurang lebih independen dari ketidakseimbangan.
Jadi dengan kurva ROC, Anda dapat memvisualisasikan bagaimana sampel Anda dipisahkan dan area di bawah kurva dapat menjadi metrik yang sangat baik untuk mengukur kinerja algoritma klasifikasi biner atau variabel apa pun yang dapat digunakan untuk memisahkan kelas.
Gambar tersebut menunjukkan distribusi yang sama dengan ukuran sampel yang berbeda. Area hitam menunjukkan di mana kurva ROC dari campuran acak dari sampel positif dan negatif akan diharapkan.
sumber