Lensa ML

Evaluasi Model dan Metrik

Langkah 1 dari 6: Lebih dari Sekadar Akurasi

Kenapa akurasi saja tidak cukup

Prediksi 1Prediksi 0Aktual 1Aktual 0TP50FN0FP50TN0
Keseimbangan kelas (% positif)50% / 50%
Akurasi
50%
Strategi
Selalu "1"
Berguna?
Tidak!

Saat kelas hampir seimbang, trik "selalu prediksi mayoritas" hanya mencapai skor sebesar porsi mayoritas. Makin timpang datanya, akurasi makin menjadi metrik yang menyesatkan. Coba geser ke arah 90%.

Geser slider keseimbangan kelas dari 50% ke arah 5% atau 95%, lalu lihat kartu akurasi naik walaupun modelnya tetap tidak berguna. Baseline di sini memprediksi satu kelas untuk semua input, jadi akurasinya selalu sama dengan porsi mayoritas dalam data. Bandingkan model apa pun dengan baseline itu sebelum memercayai akurasinya. Kalau 1 dari 1.000 transaksi adalah penipuan, model yang tidak menandai apa pun mendapat skor 99,9%. Balanced accuracy, yaitu rata-rata recall tiap kelas, memberi model yang tidak berbuat apa-apa ini skor 50% di setiap tingkat ketimpangan.

Langkah 2 dari 6: Confusion Matrix

Benar/salah × positif/negatif

Prediksi +Prediksi −Aktual +Aktual −TP38FN12FP15TN35
Decision thresholdθ = 0.50
TP
38
FP
15
TN
35
FN
12

TP (positif yang benar) dan TN (negatif yang benar) itu baik. FP (alarm palsu) dan FN (deteksi yang terlewat) adalah error. Threshold tengah: error FP dan FN sama-sama sedang.

Geser decision threshold antara 0,05 dan 0,95, lalu lihat angka berpindah antarsel. Dari 100 contoh, 50 positif dan 50 negatif, jadi setiap baris selalu berjumlah 50. Menurunkan threshold hanya bisa memindahkan positif dari FN ke TP dan negatif dari TN ke FP. Error mana yang lebih mahal bergantung pada tugasnya: tumor yang terlewat (FN) lebih buruk daripada biopsi tambahan (FP), sedangkan penyaring spam yang menyembunyikan email asli (FP) lebih buruk daripada satu pesan spam yang lolos.

Langkah 3 dari 6: Precision dan Recall

Pertukaran di antara keduanya

RecallPrecision0.250.250.50.50.750.75
Threshold0.50
Precision
0.717
Recall
0.760
Threshold
0.50

Precision = "Dari yang diprediksi positif, berapa yang benar?" (38/53). Recall = "Dari semua yang benar-benar positif, berapa yang ditemukan?" (38/50). Menggeser threshold menaikkan yang satu dan menurunkan yang lain.

Geser threshold dan ikuti titik kuning di sepanjang kurva precision-recall. Pada θ = 0.50, model ini punya precision 0,717 (38 dari 53 yang ditandai) dan recall 0,760 (38 dari 50 yang ditemukan). Recall sama sekali mengabaikan negatif, tetapi precision bergantung pada keseimbangan kelas: kalau positif sepuluh kali lebih langka, threshold yang sama akan menandai jauh lebih banyak negatif per positif dan precision turun. Itu sebabnya kurva precision-recall lebih dipilih daripada kurva ROC ketika positif langka. Average precision, yaitu luas di bawah kurva ini, menjadi dasar skor mAP pada object detection.

Langkah 4 dari 6: Skor F1

Harmonic mean

ThresholdSkor000.50.511Puncak F1F1PrecisionRecall
Threshold0.50
Skor F1
0.738
Precision
0.717
Recall
0.760

Skor F1 adalah harmonic mean dari precision dan recall: 2PR/(P+R) = 0.738. Puncak F1 = 0.794 ada di θ ≈ 0.35. Coba geser threshold ke sana.

Geser threshold ke penanda Puncak F1. Untuk 100 skor ini, F1 memuncak di sekitar 0,794 pada θ = 0.35, dengan recall 1,0 dan precision 0,658. Harmonic mean menghukum selisih di antara keduanya: precision 1,0 dengan recall 0,1 menghasilkan F1 = 0.18, sedangkan rata-rata biasa akan melaporkan 0,55. F1 juga menganggap false positive dan false negative sama buruknya. Kalau tidak sama, skor Fβ memberi recall bobot β kali precision, jadi F2 umum dipakai pada skrining, ketika kasus yang terlewat mahal biayanya.

Langkah 5 dari 6: Kurva ROC

True positive rate vs false positive rate

FPRTPR0.250.250.50.50.750.75acakAUC = 0.874
Threshold (menelusuri kurva)0.50
TPR
0.760
FPR
0.300
AUC
0.874

Kurva ROC memetakan TPR vs FPR di setiap threshold. AUC (area di bawah kurva) = 0.874 merangkum semua threshold dalam satu angka. AUC = 1.0 berarti sempurna, 0.5 berarti acak. Model ini bekerja jauh di atas acak.

Geser threshold dan lihat titiknya menelusuri kurva ROC, dari kanan atas (tandai semua) ke kiri bawah (tidak menandai apa pun). AUC punya makna langsung: probabilitas sebuah positif yang dipilih acak mendapat skor lebih tinggi daripada sebuah negatif yang dipilih acak. Karena itu, AUC tidak bergantung pada threshold tertentu maupun keseimbangan kelas. Sifat kedua ini bisa menyesatkan ketika positif langka, karena false positive rate yang kecil masih bisa berarti ribuan alarm palsu. Analisis ROC berawal dari deteksi sinyal radar pada Perang Dunia Kedua.

Langkah 6 dari 6: Metrik Regresi

MSE, MAE, R²

Kompleksitas model (derajat polinomial)derajat = 1
MSE
1.24
MAE
0.87
R²
0.019

MSE menghukum error besar dengan berat. MAE kurang peka terhadap outlier. R² = 0.019 adalah porsi varians yang bisa dijelaskan. Garis lurus mengalami underfitting pada data melengkung ini. Coba derajat yang lebih tinggi.

Geser derajat polinomial dari 1 ke 5. MSE mengkuadratkan setiap residual, jadi satu error sebesar 4 bernilai sama dengan enam belas error sebesar 1. MAE menghitungnya sebagai 4 dan 16. R² = 1 − SS_res / SS_tot membandingkan hasil fit dengan selalu memprediksi rata-rata, jadi R² = 0 berarti tidak lebih baik daripada konstanta itu. Di sini garis lurus hanya mendapat skor 0,019 pada data berpunuk ini, kuadratik 0,870, dan derajat 5 mencapai 0,952 dengan mengejar noise. Fit least squares dengan intercept tidak pernah mendapat skor di bawah 0 pada data training-nya sendiri, tetapi R² bisa negatif pada data baru. Ketiga angka ini memakai 10 titik yang sama dengan yang dipakai untuk fit kurva, jadi tidak satu pun mengukur performa pada data baru.

Apa itu metrik evaluasi model?

Metrik evaluasi model adalah angka yang menilai seberapa cocok prediksi model dengan jawaban sebenarnya pada data yang tidak dipakai saat training. Untuk klasifikasi, sebagian besar metrik berasal dari confusion matrix: akurasi, precision, recall, F1, dan kurva ROC beserta luas area di bawahnya (AUC). Untuk regresi, yang umum dipakai adalah mean squared error (MSE), mean absolute error (MAE), dan R².

Metrik menentukan model mana yang akhirnya dirilis. Deteksi penipuan, skrining medis, dan penyaring spam punya kasus positif yang langka dan biaya error yang tidak setara, jadi akurasi saja menyembunyikan kegagalan yang paling berdampak. Sistem peringkat dan rekomendasi mementingkan urutan, yang diukur oleh AUC. Tim peramalan memilih antara MSE dan MAE, tergantung apakah beberapa meleset besar lebih buruk daripada banyak meleset kecil. Metrik yang sama juga dipakai untuk menetapkan decision threshold, membandingkan model kandidat, dan memicu early stopping saat training.

Ide utama

  • Akurasi menyesatkan pada data yang timpang; selalu bandingkan dengan baseline kelas mayoritas.
  • Confusion matrix (TP, FP, TN, FN) adalah sumber semua metrik klasifikasi.
  • Precision menanyakan berapa kasus yang ditandai itu benar; recall menanyakan berapa kasus benar yang berhasil ditandai.
  • Menggeser decision threshold menukar precision dengan recall, dan F1 merangkum keseimbangannya.
  • ROC AUC adalah probabilitas sebuah positif acak mendapat peringkat lebih tinggi daripada sebuah negatif acak.
  • MSE menghukum error besar lebih berat daripada MAE, dan R² membandingkan model dengan memprediksi rata-rata.

Ulasan singkat tentang topik ini

Pertanyaan umum

Kapan sebaiknya memakai PR AUC, bukan ROC AUC?

Pakai kurva precision-recall ketika positif langka dan yang kamu pedulikan adalah alarm palsu, seperti pada deteksi penipuan atau penyakit langka. ROC AUC bisa tetap tinggi di kondisi itu karena banyaknya negatif membuat false positive rate tetap kecil. Classifier acak punya ROC AUC 0,5, tetapi PR AUC-nya sama dengan tingkat positif, jadi PR AUC harus dibaca terhadap baseline itu.

Apa bedanya macro averaging dan micro averaging?

Untuk masalah multi-class, macro averaging menghitung metrik seperti F1 untuk tiap kelas, lalu mengambil rata-rata biasa, sehingga kelas langka sama bobotnya dengan kelas umum. Micro averaging menggabungkan semua hitungan TP, FP, dan FN lebih dulu, sehingga kelas yang sering muncul lebih dominan. Pada klasifikasi multi-class satu label, F1 micro-averaged sama dengan akurasi.

Berapa skor AUC yang bagus?

Tidak ada batas universal, karena bergantung pada sulitnya tugas dan skor alternatifnya. 0,5 berarti setara tebakan acak dan 1,0 berarti urutan sempurna. Bandingkan AUC dengan baseline sederhana dan model yang sudah ada pada test set yang sama, bukan dengan angka tetap.

Sebaiknya melaporkan RMSE atau MSE?

RMSE adalah akar kuadrat dari MSE, jadi satuannya sama dengan target dan lebih mudah dibaca. Keduanya memberi peringkat model yang persis sama. MSE lebih umum sebagai training loss karena gradient-nya lebih sederhana.

Penjelasan terkait

Referensi

  1. Fawcett (2006), "An introduction to ROC analysis", Pattern Recognition Letters
  2. Davis & Goadrich (2006), "The Relationship Between Precision-Recall and ROC Curves", ICML
  3. Saito & Rehmsmeier (2015), "The Precision-Recall Plot Is More Informative than the ROC Plot When Evaluating Binary Classifiers on Imbalanced Datasets", PLoS ONE
  4. James, Witten, Hastie & Tibshirani, "An Introduction to Statistical Learning"

Terakhir diperbarui