Klasifikasi biner

Selesai

Klasifikasi, seperti regresi, adalah teknik pembelajaran mesin yang diawasi ; dan oleh karena itu mengikuti proses iteratif pelatihan, validasi, dan evaluasi model yang sama. Alih-alih menghitung nilai numerik seperti model regresi, algoritma yang digunakan untuk melatih model klasifikasi menghitung nilai probabilitas untuk penetapan kelas dan metrik evaluasi yang digunakan untuk menilai performa model membandingkan kelas yang diprediksi dengan kelas aktual.

Algoritma klasifikasi biner digunakan untuk melatih model yang memprediksi salah satu dari dua label yang mungkin untuk satu kelas. Pada dasarnya, memprediksi benar atau salah. Dalam sebagian besar skenario nyata, pengamatan data yang digunakan untuk melatih dan memvalidasi model terdiri dari beberapa nilai fitur (x) dan nilai y yang 1 atau 0.

Contoh - klasifikasi biner

Untuk memahami cara kerja klasifikasi biner, mari kita lihat contoh sederhana yang menggunakan satu fitur (x) untuk memprediksi apakah label y adalah 1 atau 0. Dalam contoh ini, kita akan menggunakan tingkat glukosa darah pasien untuk memprediksi apakah pasien mengalami diabetes atau tidak. Berikut adalah data yang akan kita latih modelnya:

Diagram of a syringe. Diagram of a diabetic and non-diabetic person.
Glukosa darah (x) Diabetes? (y)
67 0
103 1
114 1
72 0
116 1
65 0

Melatih model klasifikasi biner

Untuk melatih model, kita akan menggunakan algoritma agar sesuai dengan data pelatihan dengan fungsi yang menghitung probabilitas label kelas menjadi benar (dengan kata lain, bahwa pasien memiliki diabetes). Probabilitas diukur sebagai nilai antara 0,0 dan 1,0, sehingga probabilitas total untuk semua kelas yang mungkin adalah 1,0. Jadi misalnya, jika probabilitas pasien mengalami diabetes adalah 0,7, maka ada kemungkinan yang sesuai 0,3 bahwa pasien tidak diabetes.

Ada banyak algoritma yang dapat digunakan untuk klasifikasi biner, seperti regresi logistik, yang memperoleh fungsi sigmoid (berbentuk S) dengan nilai antara 0,0 dan 1,0, seperti ini:

Diagram of a logistic function.

Catatan

Terlepas dari namanya, dalam regresi logistik pembelajaran mesin digunakan untuk klasifikasi, bukan regresi. Poin penting adalah sifat logistik dari fungsi yang dihasilkannya, yang menggambarkan kurva berbentuk S antara nilai yang lebih rendah dan atas (0,0 dan 1,0 ketika digunakan untuk klasifikasi biner).

Fungsi yang dihasilkan oleh algoritma menjelaskan probabilitas y menjadi true (y=1) untuk nilai x tertentu. Secara matematis, Anda dapat mengekspresikan fungsi seperti ini:

f(x) = P(y=1 | x)

Untuk tiga dari enam pengamatan dalam data pelatihan, kita tahu bahwa y pasti benar, jadi probabilitas untuk pengamatan tersebut bahwa y=1 adalah 1,0 dan untuk tiga lainnya, kita tahu bahwa y pasti salah, jadi probabilitas bahwa y=1 adalah 0,0. Kurva berbentuk S menjelaskan distribusi probabilitas sehingga memplot nilai x pada baris mengidentifikasi probabilitas yang sesuai yaitu y adalah 1.

Diagram juga menyertakan garis horizontal untuk menunjukkan ambang batas di mana model berdasarkan fungsi ini akan memprediksi true (1) atau false (0). Ambang batas terletak pada titik tengah untuk y (P(y) = 0,5). Untuk nilai apa pun pada titik ini atau di atasnya, model akan memprediksi true (1); sementara untuk nilai apa pun di bawah titik ini, model akan memprediksi false (0). Misalnya, untuk pasien dengan kadar glukosa darah 90, fungsi akan menghasilkan nilai probabilitas 0,9. Karena 0,9 lebih tinggi dari ambang 0,5, model akan memprediksi benar (1) - dengan kata lain, pasien diprediksi mengalami diabetes.

Mengevaluasi model klasifikasi biner

Seperti halnya regresi, saat melatih model klasifikasi biner, Anda menahan subset data acak untuk memvalidasi model terlatih. Mari kita asumsikan kita menahan data berikut untuk memvalidasi pengklasifikasi diabetes kita:

Glukosa darah (x) Diabetes? (y)
66 0
107 1
112 1
71 0
87 1
89 1

Menerapkan fungsi logistik yang kami turunkan sebelumnya ke nilai x menghasilkan plot berikut.

Diagram of predicted labels on a sigmoid curve.

Berdasarkan apakah probabilitas yang dihitung oleh fungsi berada di atas atau di bawah ambang batas, model menghasilkan label yang diprediksi 1 atau 0 untuk setiap pengamatan. Kita kemudian dapat membandingkan label kelas yang diprediksi (ŷ) dengan label kelas aktual (y), seperti yang ditunjukkan di sini:

Glukosa darah (x) Diagnosis diabetes aktual (y) Diagnosis diabetes yang diprediksi (ŷ)
66 0 0
107 1 1
112 1 1
71 0 0
87 1 0
89 1 1

Metrik evaluasi klasifikasi biner

Langkah pertama dalam menghitung metrik evaluasi untuk model klasifikasi biner biasanya adalah membuat matriks jumlah prediksi yang benar dan salah untuk setiap label kelas yang mungkin:

Diagram of a confusion matrix.

Visualisasi ini disebut matriks kebingungan, dan menunjukkan total prediksi di mana:

  • ŷ=0 dan y=0: Negatif benar (TN)
  • ŷ=1 dan y=0: Positif palsu (FP)
  • ŷ=0 dan y=1: Negatif palsu (FN)
  • ŷ=1 dan y=1: Positif benar (TP)

Pengaturan matriks kebingungan sedemikian rutin sehingga prediksi yang benar (benar) ditampilkan dalam garis diagonal dari kiri atas ke kanan bawah. Seringkali, intensitas warna digunakan untuk menunjukkan jumlah prediksi di setiap sel, sehingga sekilas melihat model yang memprediksi dengan baik akan mengungkapkan tren diagonal yang sangat teduh.

Akurasi

Metrik paling sederhana yang dapat Anda hitung dari matriks kebingungan adalah akurasi - proporsi prediksi bahwa model benar. Akurasi dihitung sebagai:

(TN+TP) ÷ (TN+FN+FP+TP)

Dalam kasus contoh diabetes kami, perhitungannya adalah:

(2+3) ÷ (2+1+0+3)

= 5 ÷ 6

= 0.83

Jadi untuk data validasi kami, model klasifikasi diabetes menghasilkan prediksi yang benar 83% dari waktu.

Akurasi awalnya mungkin tampak seperti metrik yang baik untuk mengevaluasi model, tetapi pertimbangkan hal ini. Misalkan 11% populasi mengalami diabetes. Anda dapat membuat model yang selalu memprediksi 0, dan itu akan mencapai akurasi 89%, meskipun tidak membuat upaya nyata untuk membedakan antara pasien dengan mengevaluasi fitur mereka. Apa yang benar-benar kita butuhkan adalah pemahaman yang lebih mendalam tentang bagaimana performa model pada memprediksi 1 untuk kasus positif dan 0 untuk kasus negatif.

Tarik Kembali

Pengenalan adalah metrik yang mengukur proporsi kasus positif yang diidentifikasi model dengan benar. Dengan kata lain, dibandingkan dengan jumlah pasien yang mengalami diabetes, berapa banyak model yang diprediksi memiliki diabetes?

Rumus untuk diingat adalah:

÷ TP (TP+FN)

Untuk contoh diabetes kami:

3 ÷ (3+1)

= 3 ÷ 4

= 0.75

Jadi model kami dengan benar mengidentifikasi 75% pasien yang mengalami diabetes karena diabetes.

Presisi

Presisi adalah metrik yang mirip dengan pengenalan, tetapi mengukur proporsi kasus positif yang diprediksi di mana label benar sebenarnya positif. Dengan kata lain, proporsi pasien apa yang diprediksi oleh model untuk memiliki diabetes sebenarnya memiliki diabetes?

Rumus untuk presisi adalah:

÷ TP (TP+FP)

Untuk contoh diabetes kami:

3 ÷ (3+0)

= 3 ÷ 3

= 1.0

Jadi 100% pasien yang diprediksi oleh model kita untuk memiliki diabetes sebenarnya memiliki diabetes.

Skor F1

Skor F1 adalah metrik keseluruhan yang menggabungkan pengenalan dan presisi. Rumus untuk skor F1 adalah:

(2 x Presisi x Pengenalan) ÷ (Presisi + Pengenalan)

Untuk contoh diabetes kami:

(2 x 1,0 x 0,75) ÷ (1,0 + 0,75)

= 1,5 ÷ 1,75

= 0,86

Area di bawah Kurva (AUC)

Nama lain untuk pengenalan adalah true positive rate (TPR), dan ada metrik yang setara yang disebut false positive rate (FPR) yang dihitung sebagai FP÷(FP+TN). Kita sudah tahu bahwa TPR untuk model kita saat menggunakan ambang 0,5 adalah 0,75, dan kita dapat menggunakan rumus untuk FPR untuk menghitung nilai 0÷2 = 0.

Tentu saja, jika kita mengubah ambang batas di atas yang model memprediksi benar (1), itu akan memengaruhi jumlah prediksi positif dan negatif; dan oleh karena itu mengubah metrik TPR dan FPR. Metrik ini sering digunakan untuk mengevaluasi model dengan memplot kurva karakteristik operator yang diterima (ROC) yang membandingkan TPR dan FPR untuk setiap nilai ambang batas yang mungkin antara 0,0 dan 1,0:

Diagram of a ROC curve.

Kurva ROC untuk model yang sempurna akan langsung naik sumbu TPR di sebelah kiri dan kemudian melintasi sumbu FPR di bagian atas. Karena area plot untuk kurva berukuran 1x1, area di bawah kurva sempurna ini akan menjadi 1,0 (artinya model benar 100% dari waktu). Sebaliknya, garis diagonal dari kiri bawah ke kanan atas mewakili hasil yang akan dicapai dengan menebak label biner secara acak; menghasilkan area di bawah kurva 0,5. Dengan kata lain, mengingat dua label kelas yang mungkin, Anda dapat dengan wajar berharap untuk menebak dengan benar 50% dari waktu.

Dalam kasus model diabetes kami, kurva di atas diproduksi, dan area di bawah metrik kurva (AUC) adalah 0,875. Karena AUC lebih tinggi dari 0,5, kita dapat menyimpulkan model berkinerja lebih baik dalam memprediksi apakah pasien mengalami diabetes atau tidak daripada menebak secara acak.