×

Feature Engineering untuk Data Numerik: Panduan Dasar

Meja kerja data scientist dengan laptop menampilkan data numerik dan catatan feature engineering

Feature Engineering untuk Data Numerik: Panduan Dasar

Anda punya dataset bersih dan model sudah dilatih, tetapi akurasi mentok di angka yang sama. Sering kali masalahnya bukan pada algoritma, melainkan pada fitur yang kurang ‘berbicara’. Feature engineering data numerik membantu model menangkap pola yang tidak terlihat pada data mentah.

Mengapa Feature Engineering Penting untuk Data Numerik?

Algoritma machine learning bekerja dengan angka, tetapi tidak semua angka setara. Fitur seperti pendapatan tahunan dan usia memiliki skala yang sangat berbeda. Tanpa penyesuaian, model bisa bias terhadap fitur dengan rentang besar. Feature engineering mengubah representasi data agar hubungan antar variabel lebih mudah dipelajari. Teknik ini juga membantu mengurangi noise dan menangani distribusi yang tidak normal.

Teknik Dasar Feature Engineering untuk Data Numerik

1. Transformasi Log untuk Distribusi Miring

Banyak variabel dunia nyata, seperti harga rumah atau jumlah klik, memiliki distribusi menceng ke kanan. Transformasi log (misalnya log(x + 1)) menarik nilai ekstrem mendekati pusat dan membuat distribusi lebih simetris. Model berbasis jarak seperti KNN atau regresi linear sering mendapat manfaat besar dari langkah ini.

2. Binning: Mengubah Angka menjadi Kategori

Memotong variabel kontinu menjadi beberapa bin dapat menangkap hubungan non-linear. Contohnya, usia dikelompokkan menjadi ‘muda’, ‘dewasa’, ‘tua’. Binning berguna ketika efek suatu fitur tidak berubah secara linear terhadap target. Namun, hati-hati kehilangan informasi halus; pilih jumlah bin secara bijak.

3. Interaksi Fitur: Menangkap Hubungan Antar Variabel

Kadang dua fitur bersama-sama memberikan informasi yang tidak dimiliki masing-masing. Misalnya, rasio utang terhadap pendapatan lebih informatif daripada pendapatan atau utang secara terpisah. Anda bisa membuat fitur baru seperti pendapatan / pengeluaran atau luas / jumlah_kamar. Interaksi fitur membantu model linear menangkap pola yang lebih kompleks.

4. Scaling dan Normalisasi

Banyak algoritma sensitif terhadap skala fitur. Normalisasi (min-max) dan standardisasi (z-score) adalah langkah umum. Untuk data dengan outlier, gunakan teknik normalisasi yang tepat agar tidak terpengaruh nilai ekstrem. Ingat untuk menghitung parameter scaling hanya dari data latih, lalu terapkan ke data uji.

5. Menangani Outlier

Outlier dapat mendistorsi model, terutama yang berbasis jarak. Selain transformasi log, Anda bisa melakukan clipping (membatasi nilai pada persentil tertentu) atau mengganti outlier dengan nilai median. Pilihan tergantung pada pemahaman Anda tentang data dan tujuan model.

Kapan Feature Engineering Numerik Dilakukan?

Feature engineering sebaiknya dilakukan setelah data dibersihkan dan sebelum model dilatih. Proses ini melibatkan eksplorasi data (EDA) untuk memahami distribusi dan hubungan antar fitur. Lakukan secara iteratif: buat fitur baru, evaluasi dampaknya pada metrik validasi, dan pertahankan yang terbukti meningkatkan performa. Jangan lupa untuk menyertakan langkah ini dalam pipeline agar konsisten antara data latih dan data uji. Jika data Anda memiliki ketidakseimbangan kelas, kombinasikan dengan strategi penanganan data tidak seimbang yang sesuai.

Contoh Penerapan dengan Python

Berikut contoh sederhana menggunakan pandas dan scikit-learn untuk membuat fitur interaksi dan binning.

import pandas as pd
import numpy as np
from sklearn.preprocessing import FunctionTransformer

# Misal df memiliki kolom 'pendapatan' dan 'pengeluaran'
df['rasio_utang'] = df['pengeluaran'] / df['pendapatan']
df['log_pendapatan'] = np.log1p(df['pendapatan'])
df['usia_bin'] = pd.cut(df['usia'], bins=[0, 18, 35, 55, 100], labels=['muda', 'dewasa', 'paruh_baya', 'tua'])

# Pipeline untuk scaling
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler

pipeline = Pipeline([
    ('log', FunctionTransformer(np.log1p, validate=False)),
    ('scaler', StandardScaler())
])

Untuk proyek yang lebih kompleks, Anda mungkin perlu memilih alat pengembangan yang mendukung eksperimen cepat. Jika Anda membangun antarmuka web untuk visualisasi data, pertimbangkan memilih plugin jQuery slider yang sesuai untuk menampilkan hasil eksplorasi secara interaktif. Sementara itu, jika pekerjaan Anda melibatkan perangkat IoT, panduan memilih board mikrokontroler untuk proyek IoT dapat membantu memilih perangkat keras yang tepat untuk pengumpulan data.

Kesalahan Umum dalam Feature Engineering Data Numerik

  • Membuat fitur tanpa dasar domain: Fitur yang tidak masuk akal secara bisnis cenderung menambah noise.
  • Mengabaikan kebocoran data: Menghitung statistik dari seluruh data sebelum split dapat menyebabkan overfitting.
  • Terlalu banyak fitur: Model bisa menjadi lambat dan rentan overfitting. Lakukan seleksi fitur.
  • Tidak mendokumentasikan transformasi: Reproduksibilitas menjadi sulit jika langkah-langkah tidak dicatat.

Ringkasan

Feature engineering data numerik adalah proses kreatif yang membutuhkan pemahaman data dan tujuan model. Mulailah dengan transformasi sederhana seperti log dan scaling, lalu eksplorasi interaksi fitur dan binning. Selalu validasi dampaknya pada data validasi dan jaga konsistensi pipeline. Dengan latihan, Anda akan semakin terampil mengubah data mentah menjadi fitur yang kuat.

Pertanyaan yang Sering Diajukan

Apakah feature engineering selalu meningkatkan performa model?

Tidak selalu. Feature engineering yang tidak relevan dapat menambah noise. Selalu evaluasi dengan metrik validasi dan bandingkan dengan baseline.

Bagaimana cara menangani fitur numerik yang memiliki outlier ekstrem?

Anda bisa menggunakan transformasi log, clipping pada persentil tertentu (misalnya 1% dan 99%), atau mengganti outlier dengan nilai median. Pilih metode yang paling sesuai dengan distribusi dan konteks data.

Apakah binning selalu disarankan untuk semua variabel numerik?

Tidak. Binning dapat membantu menangkap hubungan non-linear, tetapi juga mengurangi informasi. Gunakan jika Anda yakin ada batas alami atau jika model linear kesulitan menangkap pola.

You May Have Missed