Membaca TP, FP, FN, dan TN tanpa tertukar antara aktual dan prediksi.
Membaca confusion matrix 2x2 dan 3x3 untuk klasifikasi biner maupun multiclass.
Menghitung accuracy, precision, recall, specificity, dan F1 score dari angka nyata.
Model dengan accuracy 95% belum tentu aman digunakan. Angka itu tidak memberi tahu apakah model sering melewatkan pasien sakit, memblokir transaksi yang sah, atau menandai email penting sebagai spam.
Confusion matrix adalah tabel yang mempertemukan label aktual dengan label hasil prediksi. Tabel ini membuka performa model menjadi prediksi yang benar dan salah, sehingga kita dapat melihat bentuk kesalahan sebelum memilih accuracy, precision, recall, specificity, atau F1 score.
1. Confusion Matrix: fondasi semua metrik klasifikasi
Confusion matrix adalah tabel 2 × 2 yang mempertemukan kondisi aktual dan hasil prediksi. Sebelum membaca angkanya, periksa orientasi tabel karena sebagian library menaruh aktual pada baris dan sebagian visual dapat menukarnya.
| Komponen | Aktual | Prediksi | Arti |
|---|---|---|---|
| True Positive (TP) | Positif | Positif | Model benar menemukan kasus positif. |
| False Negative (FN) | Positif | Negatif | Model melewatkan kasus positif. Ini sering berbahaya pada diagnosis, deteksi fraud, atau sistem keamanan. |
| False Positive (FP) | Negatif | Positif | Model memberi alarm positif padahal sebenarnya negatif. Ini sering menyebabkan biaya verifikasi atau gangguan pengguna. |
| True Negative (TN) | Negatif | Negatif | Model benar mengenali kasus negatif. |
Jumlah seluruh sampel adalah N = TP + FP + FN + TN. Metrik klasifikasi bukan angka yang berdiri sendiri; semuanya hanyalah sudut pandang berbeda terhadap empat kotak ini.
2. Cara Membaca Confusion Matrix 3x3 dan Multiclass
Confusion matrix 3x3 digunakan ketika model membedakan tiga kelas. Prinsipnya tetap sama: baris menunjukkan kelas aktual, kolom menunjukkan prediksi, nilai diagonal adalah prediksi benar, dan angka di luar diagonal menunjukkan kelas yang tertukar.
| Aktual / Prediksi | Kucing | Anjing | Burung |
|---|---|---|---|
| Kucing | 42 | 3 | 5 |
| Anjing | 4 | 38 | 8 |
| Burung | 2 | 6 | 42 |
Dari 150 gambar, model memprediksi 122 gambar dengan benar karena jumlah diagonalnya adalah 42 + 38 + 42 = 122. Accuracy keseluruhan menjadi 122 / 150 = 81,3%.
Untuk menghitung metrik kelas Kucing, kita memperlakukan Kucing sebagai kelas positif dan dua kelas lain sebagai negatif. Hasilnya adalah TP = 42, FN = 3 + 5 = 8, FP = 4 + 2 = 6, dan TN = 94. Precision kelas Kucing menjadi 87,5%, recall 84%, dan F1 score sekitar 85,7%.
3. Precision: seberapa bisa dipercaya prediksi positif?
Precision melihat kualitas alarm positif: dari semua yang ditandai model sebagai positif, berapa yang memang positif? Fokusnya berada pada prediksi model, bukan seluruh kasus positif yang ada.
Rumus: Precision = TP / (TP + FP)
Precision tinggi berarti alarm positif relatif dapat dipercaya. Saat nilainya rendah, model terlalu mudah menyalakan alarm dan menghasilkan banyak False Positive. Pada spam filter, konsekuensinya adalah email penting ikut tersingkir.
4. Recall: seberapa banyak kasus positif yang berhasil ditemukan?
Recall memindahkan titik pandang ke kondisi aktual: dari seluruh kasus positif yang benar-benar ada, berapa yang berhasil ditemukan? Metrik ini penting ketika satu kasus yang terlewat dapat membawa konsekuensi besar.
Rumus: Recall = TP / (TP + FN)
Recall tinggi berarti lebih sedikit kasus positif yang lolos sebagai False Negative. Karena itu skrining medis, sistem keamanan, dan deteksi fraud sering memberi perhatian besar pada recall, meski keputusan akhirnya tetap harus mempertimbangkan biaya False Positive.
5. F1 Score: ringkasan saat precision dan recall sama-sama penting
F1 Score merangkum precision dan recall dengan rata-rata harmonik. Berbeda dari rata-rata biasa, F1 akan turun tajam jika salah satunya buruk. Model tidak dapat menyembunyikan recall rendah di balik precision yang tinggi, atau sebaliknya.
Rumus: F1 = 2 x (Precision x Recall) / (Precision + Recall)
Bentuk langsung dari confusion matrix: F1 = 2TP / (2TP + FP + FN)
6. Precision vs Recall: efek decision threshold
Banyak classifier menghasilkan probabilitas, bukan label akhir. Decision threshold mengubah skor itu menjadi positif atau negatif. Nilai 0,5 hanyalah pilihan awal; ia bukan aturan yang wajib dipakai untuk semua masalah.
Threshold rendah menangkap lebih banyak kasus positif sehingga recall biasanya naik, tetapi False Positive ikut bertambah dan precision dapat turun. Threshold tinggi membuat model lebih selektif; precision bisa membaik dengan risiko lebih banyak kasus positif terlewat.
7. IoU, Dice Score, dan Jaccard untuk Segmentasi
Untuk segmentasi citra, TP, FP, dan FN dapat dihitung per piksel. Intersection over Union (IoU) membandingkan area irisan prediksi dan ground truth terhadap gabungannya. Dice Score juga mengukur tumpang tindih, dengan bobot dua kali pada area irisan.
Rumus: IoU = TP / (TP + FP + FN) Dice = 2TP / (2TP + FP + FN) Jaccard = IoU
Mask yang terlalu lebar menaikkan FP, sedangkan bagian objek yang hilang menaikkan FN. Keduanya menurunkan IoU dan Dice. Accuracy piksel bisa tetap tinggi jika background mendominasi, sehingga metrik overlap lebih jujur untuk menilai bentuk objek.
8. Mengapa Accuracy Bisa Menyesatkan?
Accuracy menghitung semua prediksi benar, tetapi tidak memperhatikan distribusi kelas. Masalah muncul ketika 99% data negatif dan hanya 1% yang positif.
Rumus: Accuracy = (TP + TN) / (TP + TN + FP + FN)
Model yang selalu menjawab negatif pada 990 data negatif dan 10 positif memperoleh accuracy 99%. Angkanya tampak hebat, padahal ia gagal menemukan satu pun kelas positif: TP = 0 dan FN = 10.
9. Rumus Metrik dari Confusion Matrix
| Metrik | Rumus | Makna praktis |
|---|---|---|
| Accuracy | (TP + TN) / (TP + TN + FP + FN) | Proporsi prediksi yang benar dari semua sampel. |
| Error Rate | (FP + FN) / (TP + TN + FP + FN) | Proporsi prediksi yang salah dari semua sampel. |
| Precision / PPV | TP / (TP + FP) | Dari semua prediksi positif, berapa yang benar-benar positif. |
| Recall / Sensitivity / TPR | TP / (TP + FN) | Dari semua kasus positif aktual, berapa yang berhasil ditemukan. |
| Specificity / TNR | TN / (TN + FP) | Dari semua kasus negatif aktual, berapa yang benar dikenali negatif. |
| False Positive Rate / FPR | FP / (FP + TN) = 1 - Specificity | Proporsi kasus negatif yang salah dianggap positif. |
| False Negative Rate / FNR | FN / (FN + TP) = 1 - Recall | Proporsi kasus positif yang terlewat oleh model. |
| False Discovery Rate / FDR | FP / (TP + FP) = 1 - Precision | Proporsi prediksi positif yang ternyata salah. |
| Negative Predictive Value / NPV | TN / (TN + FN) | Dari semua prediksi negatif, berapa yang benar-benar negatif. |
| F1 Score | 2 x (Precision x Recall) / (Precision + Recall) | Rata-rata harmonik precision dan recall. |
| Balanced Accuracy | (Recall + Specificity) / 2 | Alternatif accuracy yang lebih adil untuk data tidak seimbang. |
10. Membaca Satu Contoh Nyata
Anggap sebuah model menghasilkan TP = 80, FP = 20, FN = 40, dan TN = 860 dari 1.000 sampel. Accuracy-nya tinggi, tetapi 40 kasus positif masih terlewat.
| Metrik | Hasil |
|---|---|
| Accuracy | (80 + 860) / 1.000 = 94% |
| Precision | 80 / (80 + 20) = 80% |
| Recall | 80 / (80 + 40) = 66,7% |
| Specificity | 860 / (860 + 20) = 97,7% |
| F1 Score | 2 x (0,80 x 0,667) / (0,80 + 0,667) = 72,7% |
| Balanced Accuracy | (0,667 + 0,977) / 2 = 82,2% |
11. Memilih Metrik dari Konsekuensi Kesalahan
| Situasi | Metrik utama | Alasan |
|---|---|---|
| Kelas seimbang dan biaya FP/FN mirip | Accuracy | Cukup masuk akal jika distribusi kelas tidak berat sebelah. |
| False Positive mahal atau mengganggu | Precision | Fokus mengurangi alarm palsu. |
| False Negative berbahaya | Recall | Fokus menangkap sebanyak mungkin kasus positif. |
| Precision dan recall sama-sama penting | F1 Score | Meringkas keduanya dalam satu angka. |
| Data sangat tidak seimbang | Balanced Accuracy, Precision, Recall, F1 | Lebih informatif daripada accuracy mentah. |
Yang Perlu Kita Bawa Pulang
Confusion matrix memaksa kita melihat performa model secara lebih jujur. Accuracy menunjukkan gambaran umum, precision membaca keandalan alarm positif, recall menghitung kasus yang berhasil ditemukan, specificity memeriksa kelas negatif, dan F1 merangkum keseimbangan precision serta recall.
Metrik terbaik bukan yang paling tinggi di laporan. Metrik terbaik adalah yang mewakili konsekuensi kesalahan pada sistem yang benar-benar akan digunakan.
Ringkasan praktis
- Baca TP, FP, FN, dan TN sebelum melihat metrik turunannya.
- Pilih precision atau recall berdasarkan biaya False Positive dan False Negative.
- Ubah isi matriks di lab interaktif untuk melihat setiap metrik merespons kesalahan yang berbeda.
Pertanyaan yang sering muncul
Apakah accuracy tinggi berarti model sudah bagus?
Belum tentu. Pada data tidak seimbang, model dapat meraih accuracy tinggi dengan mengabaikan kelas minoritas. Periksa confusion matrix, precision, recall, dan distribusi kelasnya.
Mana yang lebih penting, precision atau recall?
Tergantung konsekuensinya. Utamakan recall jika kasus positif yang terlewat berbahaya. Utamakan precision jika alarm palsu mahal atau sangat mengganggu.
Artikel visual evaluasi klasifikasi
Sumber berikut dapat dibuka untuk memeriksa konteks dan rujukan yang digunakan.
Buka sumber asli →