Apa itu feature selection dalam machine learning?
Feature selection adalah proses memilih sebagian variabel input dalam dataset dan membuang sisanya, sebelum atau selama training model. Berbeda dengan metode dimensionality reduction seperti PCA, feature selection mempertahankan kolom aslinya, sehingga model tetap bekerja dengan input yang punya nama dan bisa ditafsirkan. Tiga keluarga utamanya adalah filter method, wrapper method, dan embedded method.
Teknik ini dipakai di mana pun ada banyak kandidat input dan datanya terbatas: studi genomik dengan ribuan gen per pasien, model kredit yang dibangun dari ratusan variabel rekening, serta data sensor atau log dengan banyak sinyal yang redundan. Membuang kolom yang tidak relevan mengurangi overfitting, mempercepat training dan inference, memangkas biaya pengumpulan data di produksi, dan membuat model lebih mudah dijelaskan kepada pengguna dan regulator.
Ide utama
- Feature selection menyimpan sebagian input asli dan membuang sisanya.
- Feature yang tidak relevan menaikkan akurasi training, tetapi menurunkan akurasi test.
- Filter method menilai feature satu per satu dan melewatkan interaksi.
- Wrapper method seperti forward selection mencari subset dengan melatih ulang model.
- Embedded method seperti lasso dan tree importance memilih feature selama training.
- Seleksi harus berjalan di dalam cross-validation; kalau tidak, estimasi kinerjanya bias ke atas.
Pertanyaan umum
Apa bedanya feature selection dan dimensionality reduction?
Feature selection menyimpan sebagian kolom asli tanpa mengubahnya. Dimensionality reduction, seperti PCA atau autoencoder, membangun feature baru dari kombinasi semua feature asli. Seleksi menjaga model tetap bisa ditafsirkan dan bisa menghapus kolom dari pengumpulan data sama sekali, sedangkan reduksi bisa menangkap sinyal yang tersebar di banyak feature lemah.
Berapa feature yang sebaiknya disimpan?
Perlakukan jumlahnya sebagai hyperparameter dan pilih dengan cross-validation, dengan menilai tiap kandidat jumlah pada held-out fold. Aturan praktis yang umum adalah memilih himpunan terkecil yang skornya berada dalam satu standard error dari yang terbaik. Batasan domain, seperti biaya mengumpulkan tiap feature, bisa membenarkan himpunan yang lebih kecil.
Bagaimana menangani feature yang saling berkorelasi?
Dua feature dengan korelasi tinggi membawa informasi yang kurang lebih sama, jadi metode seleksi bisa menyimpan salah satunya, dan pilihannya bisa berbalik antar-run. Lasso cenderung memilih satu secara sembarang, sedangkan elastic net, yang mencampur penalti L1 dan L2, menjaga kelompok yang berkorelasi tetap bersama. Tree importance membagi kredit di antara keduanya, jadi masing-masing bisa terlihat kurang penting dari yang sebenarnya.
Apakah feature selection dibutuhkan untuk deep learning?
Lebih jarang pada data mentah seperti gambar, audio, dan teks, karena network mempelajari representasinya sendiri dan dilatih dengan dataset besar. Feature selection masih membantu pada data tabular dengan banyak kolom ber-noise, ketika membuang input sampah bisa menaikkan akurasi dan memangkas biaya serving. Regularization dan dropout mengerjakan sebagian tugas yang sama di dalam network.
Penjelasan terkait
- Curse of Dimensionality · Kenapa ruang berdimensi tinggi merusak intuisi dan algoritma
- Regularization · Dropout, L1, dan L2 agar model tetap jujur
- Dimensionality Reduction · PCA dan t-SNE untuk melihat data berdimensi tinggi
- Decision Tree dan Split · Recursive partitioning, Gini impurity, dan pruning
- Feature Extraction · Cara network menemukan pola dalam data mentah
- Cross-Validation · Evaluasi dengan k-fold, stratified, dan leave-one-out
Referensi
- Guyon & Elisseeff (2003), "An Introduction to Variable and Feature Selection", JMLR
- Tibshirani (1996), "Regression Shrinkage and Selection via the Lasso", JRSS-B
- Breiman (2001), "Random Forests", Machine Learning
- Ambroise & McLachlan (2002), "Selection bias in gene extraction on the basis of microarray gene-expression data", PNAS
Terakhir diperbarui