2.5.4
Bagging
Ringkasan
- Bagging melatih model dasar yang sama pada banyak sampel bootstrap lalu menggabungkan prediksi dengan rata-rata atau voting.
- Manfaat utamanya adalah menurunkan varians, terutama untuk model yang tidak stabil seperti pohon keputusan dalam.
- Jumlah estimator dan kompleksitas model dasar menentukan kompromi antara akurasi, stabilitas, dan biaya komputasi.
Intuisi #
Bagging membuat banyak versi data latih yang sedikit berbeda. Tiap model menghasilkan kesalahan berbeda; saat digabungkan, sebagian noise saling meniadakan sehingga prediksi akhir lebih stabil.
Penjelasan Rinci #
1. Langkah kerja #
- Membuat beberapa sampel bootstrap dari data latih
- Melatih model yang sama pada setiap sampel
- Mengambil rata-rata (regresi) atau voting (klasifikasi)
Bagging terutama menurunkan varians sehingga model lebih stabil.
2. Contoh Python #
| |
3. Hiperparameter #
n_estimators: Jumlah model. Lebih banyak biasanya lebih stabil, namun lebih mahal.max_samples,max_features: Proporsi sampel/fitur per model.bootstrap: Sampling dengan pengembalian;bootstrap_featuresuntuk fitur.oob_score: Estimasi generalisasi dari sampel out-of-bag.
4. Kelebihan dan kekurangan #
| Kelebihan | Kekurangan |
|---|---|
| Mudah diimplementasikan dan bisa diparalelkan | Menyimpan banyak model memakan memori |
| Varians berkurang signifikan | Bias tidak berkurang; model dasar harus cukup baik |
| OOB menghemat set validasi tambahan | Interpretasi lebih sulit daripada satu pohon |
5. Ringkasan #
- Bagging menstabilkan model dengan resampling dan averaging.
- Decision tree + bagging = Random Forest.
- Efektif ketika proses training dapat diparalelkan.