Rule Fit.id
Ringkasan
- RuleFit mengekstrak aturan dari ensemble pohon lalu menggabungkannya dengan fitur asli dalam model linear sparse.
- Regularisasi L1 memilih aturan dan fitur yang paling informatif sehingga interpretasi model lebih mudah.
- Kedalaman aturan, jumlah aturan, dan kekuatan regularisasi sangat memengaruhi generalisasi serta sparsity model.
Intuisi #
RuleFit mengubah jalur pohon menjadi indikator if-then yang mudah dibaca, lalu memberi bobot linear pada indikator tersebut. Hasilnya adalah kombinasi fleksibilitas nonlinier dan interpretasi berbasis koefisien.
Penjelasan Rinci #
1. Ide (dengan rumus) #
- Ekstrak aturan: setiap jalur menuju daun menjadi (r_j(x) \in {0,1}).
- Tambahkan istilah linear ter-skala (z_k(x)).
- Regresi linear dengan L1:
Regularisasi L1 membuat model jarang (sparse) dan menyorot aturan penting.
2. Dataset (OpenML: house_sales) #
Data harga rumah King County (OpenML data_id=42092). Hanya kolom numerik yang dipakai.
| |
3. Melatih RuleFit #
Implementasi Python: christophM/rulefit
| |
4. Meninjau aturan penting #
| |
rule: kondisi if-then (type=linearberarti istilah linear)coef: koefisien regresi (satuan sama dengan target)support: proporsi sampel yang memenuhi aturanimportance: skor gabungan berdasarkan koefisien dan support
5. Validasi dengan visualisasi #
| |
| |
6. Tips praktis #
- Tangani outlier (Winsorize, clipping) untuk membuat aturan stabil.
- Bersihkan kategori langka sebelum encoding satu-panas.
- Transformasi target yang sangat miring (misal
log(y)). - Batasi jumlah/kedalaman aturan agar mudah dibaca; tetapkan batas via validasi silang.
- Rangkum aturan teratas dalam bahasa bisnis untuk laporan ringkas.
7. Referensi #
- Friedman, J. H., & Popescu, B. E. (2008). Predictive Learning via Rule Ensembles. The Annals of Applied Statistics, 2(3), 916–954.
- Christoph Molnar. (2020). Interpretable Machine Learning. https://christophm.github.io/interpretable-ml-book/rulefit.html