Feature selection merupakan salah satu cara untuk meningkatkan akurasi pada sebuah model machine learning. Melalui artikel singkat ini diharapkan kita dapat mengenal feature selection beserta teknik-tekniknya.
Sebelum dataset digunakan untuk melatih sebuah model machine learning, ada serangkaian langkah yang perlu dilakukan pada data tersebut. Rangkaian proses ini biasa disebut dengan persiapan data atau data preparation.
Apa saja aktivitas yang termasuk dalam data preparation?
- Data cleansing : proses membersihkan dataset dari data yang kosong, invalid atau error
- Data transformation : melakukan pengayaan (enrichment), dan mengubah format data untuk menyesuaikan dengan kebutuhan ataupun meningkatkan efisiensi dan akurasi
- Feature selection : menentukan dan memilih fitur atau kolom yang paling relevan
- Feature extraction : membentuk fitur baru dari fitur-fitur yang ada
Semua langkah tersebut bertujuan untuk memperbaiki kualitas data dan meminimalisir noise. Data preparation merupakan bagian yang sangat penting, karena data yang dihasilkan dari rangkaian proses ini akan menentukan efisiensi training dan kinerja model yang dihasilkan.
Dalam artikel kita akan mempelajari mengenai apa itu feature selection, apa kegunaannya, serta apa saja metode yang dapat digunakan.
Apa Itu Feature Selection ?
Sebelum mengenal feature selection atau pemilihan fitur lebih jauh, pertanyaan awalnya adalah apa itu feature selection. Dirangkum dari berbagai sumber, feature selection adalah proses mengurangi jumlah fitur atau variabel input dengan memilih fitur-fitur yang dianggap paling relevan terhadap model.
Apa Manfaat Feature Selection Sebelum Melakukan Training Pada Model ?
Beberapa manfaat atau tujuan feature selection adalah :
- Mengurangi Overfitting
- Semakin sedikit redundansi dalam fitur yang digunakan, berarti mengurangi kemungkinan munculnya noise dalam model
- Meningkatkan Akurasi
- Meminimalkan fitur dan data yang kurang tepat atau misleading
- Mengurangi beban dan waktu training
- Lebih sedikit data berarti mengurangi kompleksitas algoritma dan mempercepat waktu training
Perbedaan Feature Selection dan Feature Extraction
Meskipun keduanya bertujuan untuk mengurangi jumlah variabel, namun pada feature extraction hal ini dilakukan dengan membentuk variabel baru dari kombinasi variabel-variabel yang ada, sedangkan feature selection mengurangi jumlah variabel dengan memilih dari variabel yang ada tanpa membentuk variabel baru.
Mengenal Feature Selection dan Metodenya
Secara garis besar ada dua jenis feature selection, yaitu supervised dan unsupervised. Metode supervised terdiri dari metode wrapper, filter dan intrinsik/embedded.
Perbedaan antara supervised dan unsupervised feature selection mirip dengan perbedaan antara supervised dan unsupervised learning, yaitu pada penggunaan variabel output / target.
- Unsupervised feature selection : tidak menggunakan variabel output dalam melakukan seleksi, misalnya memilih antara fitur-fitur yang redundan. Proses ini hanya membandingkan antar variabel input saja.
- Supervised feature selection : menggunakan variabel output dalam seleksi, yaitu misalnya membuang variabel yang tidak relevan terhadap variabel output.
Metode pada supervised feature selection dapat dibagi lagi menjadi 3 jenis, yaitu: filter, wrapper, dan embedded/intrinsik
Filter Feature Selection
Metode ini akan memilih fitur yang relevan tanpa bergantung pada jenis algoritma learning yang digunakan. Metode ini mengukur relevansi sebuah fitur dengan menggunakan bantuan uji statistik. Filter method cukup cepat dan ringan secara komputasi.
Beberapa teknik yang termasuk dalam jenis ini :
- information gain
- chi-square test
- fisher score
- correlation coefficient
- variance threshold
Wrapper Feature Selection
Metode wrapper adalah proses pemilihan fitur didasarkan pada algoritma learning yang digunakan. Metode ini mengikuti pendekatan greedy searching dengan mengevaluasi model terhadap semua kombinasi fitur. Pemilihan fitur ini dianggap lebih menggambarkan permasalahan nyata karena kriteria evaluasi yang dipakai adalah kriteria evaluasi model yang sebenarnya. Namun metode ini bisa menjadi cukup rumit dan mahal secara komputasi karena melibatkan proses learning dan cross-validation yang berulang.
Beberapa algoritma yang termasuk jenis ini :
- Recursive Feature Elimination (RFE)
- Sequential Feature Selection (SFS)
- Genetic Algorithms
Embedded Feature Selection
Seperti namanya, embedded feature selection adalah fungsi feature selection yang merupakan bawaan dari algoritma learning tertentu, misalnya algoritma regresi lasso dan ridge, atau algoritma-algoritma berbasis tree. Metode embedded menggabungkan kelebihan filter dan wrapper, namun tidak semua algoritma memiliki kemampuan atau fitur ini.
Referensi:
Beberapa artikel yang digunakan sebagai referensi tulisan ini adalah
- Machine Learning FAQ, sebastianraschka.com
- An Introduction to Feature Selection, machinelearningmastery.com
- A Comprehensive Guide to Feature Selection using Wrapper Methods in Python, analyticsvidhya.com