Klasifikasi: ROC dan ABK

Bagian sebelumnya menyajikan serangkaian metrik model, yang semuanya dihitung pada satu nilai nilai minimum klasifikasi. Namun, jika Anda ingin mengevaluasi kualitas model di semua kemungkinan nilai minimum, Anda memerlukan alat yang berbeda.

Kurva karakteristik operasi penerima (ROC)

Kurva ROC adalah representasi visual performa model di semua nilai minimum. Versi panjang nama, karakteristik operasi penerima, adalah sisa dari deteksi radar Perang Dunia II.

Kurva ROC digambar dengan menghitung rasio positif benar (TPR) dan rasio positif palsu (FPR) pada setiap kemungkinan nilai minimum (dalam praktiknya, pada interval yang dipilih), lalu membuat grafik TPR berdasarkan FPR. Model sempurna, yang pada nilai minimum tertentu memiliki TPR 1,0 dan FPR 0,0, dapat diwakili oleh titik pada (0, 1) jika semua nilai minimum lainnya diabaikan, atau dengan hal berikut:

Gambar 1. Grafik TPR (sumbu y) terhadap FPR (sumbu x) yang menunjukkan performa model sempurna: garis dari (0,1) ke (1,1).
Gambar 1. ROC dan AUC model sempurna hipotetis.

Area di bawah kurva (AUC)

Area di bawah kurva ROC (AUC) mewakili probabilitas bahwa model, jika diberi contoh positif dan negatif yang dipilih secara acak, akan memberi peringkat positif lebih tinggi daripada negatif.

Model sempurna di atas, yang berisi persegi dengan sisi panjang 1, memiliki area di bawah kurva (AUC) sebesar 1,0. Artinya, ada probabilitas 100% bahwa model akan dengan benar memberi peringkat lebih tinggi pada contoh positif yang dipilih secara acak daripada contoh negatif yang dipilih secara acak. Dengan kata lain, melihat penyebaran titik data di bawah, AUC memberikan probabilitas bahwa model akan menempatkan kotak yang dipilih secara acak di sebelah kanan lingkaran yang dipilih secara acak, terlepas dari tempat nilai minimum ditetapkan.

Baris data widget tanpa penggeser

Secara lebih konkret, pengklasifikasi spam dengan AUC 1,0 selalu menetapkan email spam acak dengan probabilitas yang lebih tinggi menjadi spam daripada email sah acak. Klasifikasi sebenarnya dari setiap email bergantung pada nilai minimum yang Anda pilih.

Untuk pengklasifikasi biner, model yang memiliki performa sama persis dengan tebakan acak atau lemparan koin memiliki ROC yang merupakan garis diagonal dari (0,0) ke (1,1). AUC adalah 0,5, yang mewakili probabilitas 50% untuk memberi peringkat yang benar pada contoh positif dan negatif acak.

Dalam contoh pengklasifikasi spam, pengklasifikasi spam dengan AUC 0,5 menetapkan email spam acak dengan probabilitas yang lebih tinggi untuk menjadi spam daripada email yang sah secara acak hanya setengah waktu.

Gambar 2. Grafik TPR (sumbu y) terhadap FPR (sumbu x) yang menunjukkan performa tebakan acak 50-50: garis diagonal dari (0,0) ke (1,1).
Gambar 2. ROC dan AUC dari tebakan yang benar-benar acak.

(Opsional, lanjutan) Kurva presisi-recall

AUC dan ROC berfungsi dengan baik untuk membandingkan model jika set data secara kasar seimbang di antara class. Jika set data tidak seimbang, kurva presisi-recall (PRC) dan area di bawah kurva tersebut dapat menawarkan visualisasi komparatif performa model yang lebih baik. Kurva presisi-recall dibuat dengan plot presisi pada sumbu y dan recall pada sumbu x di semua ambang batas.

Contoh kurva presisi-recall dengan kurva cembung ke bawah dari (0,1)
            ke (1,0)

AUC dan ROC untuk memilih model dan nilai minimum

AUC adalah ukuran yang berguna untuk membandingkan performa dua model yang berbeda, asalkan set datanya seimbang. Model dengan area di bawah kurva yang lebih besar umumnya lebih baik.

Gambar 3.a. Grafik ROC/AUC model dengan AUC=0,65. Gambar 3.b. Grafik ROC/AUC model dengan AUC=0,93.
Gambar 3. ROC dan AUC dari dua model hipotetis. Kurva di sebelah kanan, dengan AUC yang lebih besar, mewakili model yang lebih baik dari kedua model tersebut.

Titik pada kurva ROC yang paling dekat dengan (0,1) mewakili rentang nilai minimum berperforma terbaik untuk model tertentu. Seperti yang telah dibahas di bagian Nilai minimum, Matriks kebingungan, dan Pilihan metrik dan kompromi, nilai minimum yang Anda pilih bergantung pada metrik yang paling penting untuk kasus penggunaan tertentu. Pertimbangkan titik A, B, dan C dalam diagram berikut, yang masing-masing mewakili nilai minimum:

Gambar 4. Kurva ROC AUC=0,84 yang menunjukkan tiga titik pada
            bagian cembung kurva yang paling dekat dengan (0,1) yang diberi label A, B, C secara berurutan.
Gambar 4. Tiga titik berlabel yang mewakili nilai minimum.

Jika positif palsu (alarm palsu) sangat mahal, sebaiknya pilih nilai minimum yang memberikan FPR yang lebih rendah, seperti yang ada di titik A, meskipun TPR dikurangi. Sebaliknya, jika positif palsu murah dan negatif palsu (positif benar yang terlewat) sangat mahal, nilai minimum untuk titik C, yang memaksimalkan TPR, mungkin lebih disukai. Jika biayanya kira-kira setara, titik B mungkin menawarkan keseimbangan terbaik antara TPR dan FPR.

Berikut adalah kurva ROC untuk data yang telah kita lihat sebelumnya:

Latihan: Periksa pemahaman Anda

Dalam praktiknya, kurva ROC jauh lebih tidak teratur daripada ilustrasi yang diberikan di atas. Manakah dari model berikut, yang diwakili oleh kurva ROC dan AUC-nya, yang memiliki performa terbaik?
Kurva ROC yang melengkung ke atas, lalu ke kanan dari (0,0) ke
           (1,1). Kurva memiliki AUC 0,77.
Model ini memiliki AUC tertinggi, yang sesuai dengan performa terbaik.
Kurva ROC yang kira-kira merupakan garis lurus dari (0,0) ke
           (1,1), dengan beberapa zig-zag. Kurva memiliki AUC 0,508.
Kurva ROC yang zig-zag ke atas dan ke kanan dari (0,0) ke (1,1).
           Kurva ini memiliki AUC 0,623.
Kurva ROC yang melengkung ke kanan, lalu ke atas dari
                (0,0) ke (1,1). Kurva memiliki AUC 0,31.
Manakah dari model berikut yang berperforma lebih buruk daripada peluang?
Kurva ROC yang melengkung ke kanan, lalu ke atas dari (0,0) ke (1,1). Kurva memiliki AUC 0,32.
Model ini memiliki AUC yang lebih rendah dari 0,5, yang berarti performanya lebih buruk daripada peluang.
Kurva ROC yang kira-kira merupakan garis lurus dari
                     (0,0) ke (1,1), dengan beberapa zig-zag. Kurva ini memiliki AUC sebesar 0,508.
Model ini berperforma sedikit lebih baik daripada peluang.
Kurva ROC yang merupakan garis lurus diagonal dari
                (0,0) ke (1,1). Kurva memiliki AUC 0,5.
Model ini berperforma sama seperti peluang.
Kurva ROC yang terdiri dari dua garis tegak lurus: garis vertikal
      dari (0,0) ke (0,1) dan garis horizontal dari (0,1) ke (1,1).
      Kurva ini memiliki AUC 1,0.
Ini adalah pengklasifikasi sempurna hipotetis.

(Opsional, lanjutan) Pertanyaan bonus

Manakah dari perubahan berikut yang dapat dilakukan pada model yang lebih buruk dari peluang dalam pertanyaan sebelumnya agar berperforma lebih baik dari peluang?
Membalik prediksi, sehingga prediksi 1 menjadi 0, dan prediksi 0 menjadi 1.
Jika pengklasifikasi biner secara andal menempatkan contoh dalam class yang salah lebih sering daripada kebetulan, mengganti label class akan langsung membuat prediksinya lebih baik daripada kebetulan tanpa harus melatih ulang model.
Buat model tersebut selalu memprediksi class negatif.
Hal ini dapat meningkatkan performa di atas peluang, atau tidak. Selain itu, seperti yang telah dibahas di bagian Akurasi, ini bukan model yang berguna.
Buat model tersebut selalu memprediksi kelas positif.
Hal ini dapat meningkatkan performa di atas peluang, atau tidak. Selain itu, seperti yang telah dibahas di bagian Akurasi, ini bukan model yang berguna.

Bayangkan situasi saat lebih baik mengizinkan beberapa spam masuk ke kotak masuk daripada mengirim email penting bagi bisnis ke folder spam. Anda telah melatih pengklasifikasi spam untuk situasi ini dengan class positif adalah spam dan class negatif adalah bukan spam. Manakah dari titik berikut pada kurva ROC untuk pengklasifikasi Anda yang lebih disukai?

Kurva ROC dengan AUC=0,84 yang menunjukkan tiga titik pada bagian cembung
       kurva yang mendekati (0,1). Titik A berada di sekitar
       (0,25, 0,75). Titik B berada di sekitar (0,30, 0,90), dan merupakan
       titik yang memaksimalkan TPR sekaligus meminimalkan FPR. Titik
       C berada di sekitar (0,4, 0,95).
Titik A
Dalam kasus penggunaan ini, sebaiknya minimalkan positif palsu, meskipun positif benar juga menurun.
Titik B
Batas ini menyeimbangkan positif benar dan positif palsu.
Titik C
Batas ini memaksimalkan positif benar (menandai lebih banyak spam) dengan mengorbankan lebih banyak positif palsu (lebih banyak email yang sah ditandai sebagai spam).