4.3.3
ROC-AUC
Ringkasan
- ROC-AUC | Panduan menyesuaikan ambang keputusan dan membandingkan modelの概要を押さえ、評価対象と読み取り方を整理します。
- Python 3.13 のコード例で算出・可視化し、手順と実務での確認ポイントを確認します。
- 図表や補助指標を組み合わせ、モデル比較や閾値調整に活かすヒントをまとめます。
1. Makna kurva ROC dan AUC #
Kurva ROC menempatkan False Positive Rate (FPR) pada sumbu x dan True Positive Rate (TPR) pada sumbu y sambil menggeser ambang prediksi dari 0 ke 1. Nilai AUC berada di kisaran 0.5 (acak) hingga 1.0 (pemisahan sempurna).
- AUC ≈ 1.0 → model sangat baik dalam membedakan kelas.
- AUC ≈ 0.5 → serupa dengan tebakan acak.
- AUC < 0.5 → mungkin tanda bahwa keputusan perlu dibalik atau ambang perlu disesuaikan signifikan.
2. Implementasi dan visualisasi di Python 3.13 #
Pastikan interpreter dan paket yang dibutuhkan telah tersedia:
| |
Kode di bawah ini melatih regresi logistik pada dataset Breast Cancer, menampilkan kurva ROC, dan menyimpan gambar ke static/images/eval/classification/rocauc. Alur ini kompatibel dengan generate_eval_assets.py untuk regenerasi otomatis.
| |

AUC adalah luas di bawah kurva ROC; makin besar nilainya, makin baik kemampuan pemeringkatan model.
3. Menggunakan ROC-AUC untuk menyesuaikan ambang #
- Kasus sensitif terhadap recall (kesehatan, fraud): pilih titik pada kurva yang menjaga TPR tinggi dengan FPR yang masih dapat diterima.
- Menjaga keseimbangan precision–recall: model dengan AUC tinggi cenderung stabil di berbagai ambang.
- Perbandingan model: AUC memberikan ukuran tunggal sebelum menentukan ambang operasional. Sertakan analisis Precision–Recall agar dampak perubahan ambang terhadap kualitas prediksi semakin jelas.
4. Checklist operasional #
- Periksa ketidakseimbangan data – walau AUC hanya sekitar 0.5, mungkin ada ambang lain yang menyelamatkan kasus penting.
- Uji bobot kelas – lihat apakah memberi bobot berbeda meningkatkan AUC.
- Bagikan visualisasinya – tampilkan kurva ROC di dashboard agar tim mudah memahami trade-off.
- Notebook Python 3.13 – simpan evaluasi agar dapat dijalankan ulang setiap kali model diperbarui.
Ringkasan #
- ROC-AUC menilai kemampuan model mengurutkan kelas positif di depan kelas negatif pada seluruh rentang ambang.
- Di Python 3.13, gunakan RocCurveDisplay dan oc_auc_score untuk menghitung serta memvisualisasikannya dengan ringkas.
- Kombinasikan dengan metrik precision–recall guna memilih ambang yang sejalan dengan kebutuhan bisnis.