Materi 08 · Core ML

Model Evaluation & Validation

Akurasi 95% bisa menyesatkan. Pahami metric yang tepat untuk problem-mu, kapan pakai precision vs recall, ROC-AUC, cross-validation, dan cara mendeteksi overfitting sebelum produksi.

⏱ 30 Menit🎯 Intermediate📚 Module 8/15

1. Confusion Matrix — Pondasi Evaluasi

Tabel 2x2 (untuk binary klasifikasi) yang merinci tipe prediksi: benar atau salah, dan ke arah mana.

Predict Positive
Predict Negative
Actual Positive
TP
True Positive
FN
False Negative
Actual Negative
FP
False Positive
TN
True Negative

2. Metric Klasifikasi

Accuracy Accuracy = (TP + TN) / (TP + TN + FP + FN)
// Hati-hati di class imbalance
Precision Precision = TP / (TP + FP)
// Dari yang di-predict positif, berapa yang benar?
Recall (Sensitivity) Recall = TP / (TP + FN)
// Dari semua yang sebenarnya positif, berapa yang berhasil di-deteksi?
F1 Score F1 = 2 × (Precision × Recall) / (Precision + Recall)
// Harmonic mean — penalty kalau salah satu rendah
💡 Insight

Precision vs Recall — Pilih Berdasarkan Cost

Precision penting kalau false positive mahal — mis. spam filter (jangan blok email bisnis penting). Recall penting kalau false negative mahal — mis. medical diagnosis (jangan miss kanker), fraud detection.

3. ROC Curve & AUC

ROC = Receiver Operating Characteristic. Plot True Positive Rate vs False Positive Rate di berbagai threshold. AUC = area under curve, 0.5 (random) sampai 1.0 (perfect).

4. Metric Regresi

MetricRumusKarakter
MAE(1/n)·Σ|y − ŷ|Mudah dibaca, robust ke outlier
MSE(1/n)·Σ(y − ŷ)²Penalize besar untuk error besar
RMSE√MSESame unit as target, popular
1 − SS_res/SS_totVariance dijelaskan model (0-1)
MAPE(1/n)·Σ|y−ŷ|/y × 100%Error sebagai persentase

5. Cross-Validation

1× train-test split bisa lucky/unlucky. Cross-validation = train multiple kali di subset berbeda, average hasilnya untuk estimasi generalisasi yang lebih reliabel.

6. Overfitting vs Underfitting

Diagnosa via Learning Curve

Underfit: training error tinggi + validation error tinggi. Solusi: model lebih kompleks, lebih banyak feature, train lebih lama.

Overfit: training error rendah + validation error tinggi (gap besar). Solusi: regularization, lebih banyak data, dropout, simpler model.

Just right: training error rendah + validation error rendah, gap kecil. Goal yang dicari.

7. Studi Kasus

🌟 Real World

Medical Diagnosis: Kenapa Recall Lebih Penting

Sebuah model deteksi kanker melaporkan accuracy 99%. Terdengar bagus? Tapi ternyata kanker hanya terjadi di 1% populasi — model "selalu predict bukan kanker" akan accuracy 99% juga.

Yang penting di medical: Recall (sensitivity) tinggi. Model harus deteksi sebanyak mungkin kasus kanker walau ada false alarm. False positive bisa di-konfirmasi dengan tes lanjut. False negative = nyawa hilang. Pilih metric sesuai dampak bisnis/sosial.

📝 Tugas

Evaluation Deep Dive

  1. Pilih dataset klasifikasi imbalanced (mis. credit fraud detection di Kaggle).
  2. Train 1 model. Hitung: accuracy, precision, recall, F1, ROC-AUC.
  3. Plot confusion matrix dan ROC curve.
  4. Lakukan 5-fold stratified CV. Bandingkan dengan single train-test split.
  5. Tuliskan rekomendasi: jika ini fraud detection bank, threshold mana yang akan kamu pakai dan mengapa?

Rangkuman