Bagikan :
clip icon

Feature Engineering Techniques: Membangun Model Machine Learning yang Lebih Cerdas

AI Morfo
foto : Morfogenesis Teknologi Indonesia Creative Team
Feature engineering adalah proses mentransformasi data mentah menjadi fitur yang lebih informatif sehingga algoritma machine learning dapat belajar dengan lebih efektif. Banyak praktisi menyebut proses ini sebagai seni sekaligus ilmu, karena membutuhkan pemahaman mendalam terhadap domain bisnis, kreativitas, serta eksperimen yang terus-menerus. Artikel ini akan membahas teknik-teknik penting dalam feature engineering, lengkap dengan contoh implementasi dan studi kasus praktis.

Pertama, kita perlu memahami peran fitur itu sendiri. Fitur adalah variabel input yang digunakan model untuk membuat prediksi. Semakin baik kualitas fitur, semakin tinggi performa model, bahkan jika algoritma yang digunakan sederhana. Sebaliknya, fitur yang buruk akan membuat model sulit menangkap pola, meski algoritma yang dipakai sangat canggih. Karena itu, waktu yang diinvestasikan untuk feature engineering sering kali lebih besar dibanding pemilihan atau tuning algoritma.

Salah satu teknik dasar adalah imputasi nilai yang hilang. Data nyaris selalu mengandang missing value yang bisa muncul karena kesalahan input, kerusakan sensor, atau proses ETL yang tidak sempurna. Langkah pertama adalah menentukan apakah nilai yang hilang bersifat Missing At Random (MAR), Missing Completely At Random (MCAR), atau Missing Not At Random (MNAR). Setelah itu, kita bisa memilih strategi yang sesuai:
1. Mean atau median imputasi untuk data numerik yang simetris atau tidak terlalu skewed.
2. Modus imputasi untuk data kategorikal dengan cardinalitas rendah.
3. Forward fill atau backward fill untuk data deret waktu.
4. K-Nearest Neighbors Imputer jika kita ingin mempertahankan hubungan antar fitur.
5. Multiple Imputation by Chained Equations (MICE) untuk akurasi yang lebih tinggi dengan biaya komputasi tambahan.

Teknik kedua adalah encoding variabel kategorikal. Algoritma machine learning seperti regresi logistik atau SVM membutuhkan input numerik, sehingga kita harus mengubah teks menjadi angka. Beberapa metode yang populer:
1. Label Encoding: memberikan nilai integer unik untuk setiap kategori; cocok jika kategori bersifat ordinal.
2. One-Hot Encoding: membuat kolom biner baru untuk tiap kategori; ideal untuk nominal dengan cardinalitas rendah.
3. Target Encoding: menggantikan kategori dengan mean target; kuat untuk high-cardinality tetapi perlu diwaspadai overfitting.
4. Frequency atau Count Encoding: mengganti kategori dengan frekuensi kemunculannya; sederhana namun sering efektif.
5. Embedding dengan neural network: memetakan kategori ke vektor dens yang bisa dilatih end-to-end untuk data besar.

Teknik ketiga adalah transformasi data numerik. Distribusi yang sangat miring atau outliers ekstrem bisa merusak asumsi model linear. Solusinya antara lain:
1. Log, square-root, atau Box-Cox transform untuk mengurangi skewness.
2. Binning dengan teknik equal-width, equal-frequency, atau berbasis decision tree untuk mengelompokkan nilai ekstrem.
3. Scaling dengan StandardScaler (z-score) atau MinMaxScaler agar fitur berada pada rentang yang serupa.
4. Robust Scaler yang memakai median dan IQR agar tidak terpengaruh outliers.
5. PowerTransformer atau QuantileTransformer untuk distribusi yang sangat tidak normal.

Teknik keempat adalah pembuatan fitur interaksi dan polynomial. Model linear tidak bisa menangkap interaksi secara otomatis, padahal sering kali hubungan antar fitur penting. Kita bisa:
1. Membuat fitur perkalian atau pembagian antara dua variabel yang diyakini saling memengaruhi.
2. Menambahkan PolynomialFeatures dari scikit-learn untuk menghasilkan pangkat dua atau tiga.
3. Menggunakan domain knowledge, contohnya luas bangunan dibagi luas tanah untuk memperoleh building density.
4. Menerapkan logika bisnis seperti daya beli pelanggan yang dihitung dari income dikurangi average expense.
5. Memanfaatkan algoritme berbasis pohon untuk menemukan aturan interaksi secara otomatis, lalu mengekstraknya sebagai fitur baru.

Teknik kelima adalah seleksi dan reduksi fitur. Terlalu banyak fitur bisa menimbulkan curse of dimensionality serta meningkatkan risiko overfitting. Langkah-langkah yang umum dilakukan:
1. Filter method: memakai korelasi, mutual information, atau chi-square untuk memilih subset fitur berdasarkan skor statistik.
2. Wrapper method: menggunakan recursive feature elimination (RFE) atau exhaustive search dengan cross-validation.
3. Embedded method: memanfaatkan regularisasi L1 (Lasso) agar model otomatis menghilangkan fitur yang tidak relevan.
4. Principal Component Analysis (PCA) atau t-SNE untuk mereduksi dimensi sambil mempertahankan varian.
5. Autoencoder untuk data berdimensi tinggi seperti gambar atau teks, dengan jumlah komponen yang bisa diatur.

Terakhir, penting untuk membangun pipeline yang solid. Salah satu kesalahan umum adalah leakage, yaitu menfiturkan seluruh data sebelum pembagian train-test, sehingga informasi dari data uji terbaca oleh model. Solusinya adalah menggabungkan transformasi ke dalam Pipeline scikit-learn yang memastikan proses imputasi, scaling, dan pembuatan fitur hanya dipelajari dari data latih. Selain itu, gunakan ColumnTransformer untuk menerapkan metode yang berbeda pada kolom numerik dan kategorikal secara paralel. Dengan pendekatan ini, kode menjadi lebih rapi, reproduksinya lebih mudah, dan risiko overfitting berkurang drastis.

Ingin mengaplikasikan feature engineering di atas tanpa repot membangun infrastruktur dari nol? Morfotech.id siap membantu. Sebagai developer aplikasi berbasis data, kami menyediakan solusi end-to-end mulai dari konsultasi arsitektur data, pembuatan pipeline ETL, hingga deployment model ke cloud. Diskusikan kebutuhan Anda melalui WhatsApp +62 811-2288-8001 atau kunjungi https://morfotech.id untuk informasi lebih lanjut.
Sumber:
AI Morfotech - Morfogenesis Teknologi Indonesia AI Team
Sabtu, September 20, 2025 5:08 AM
Logo Mogi