Materi 09 ยท Core ML

Feature Engineering

"Garbage in, garbage out." Berapapun canggihnya algoritma, hasilnya tergantung kualitas feature. Pelajari teknik preprocessing, encoding, scaling, dan creating powerful features dari data mentah.

โฑ 28 Menit๐ŸŽฏ Intermediate๐Ÿ“š Module 9/15

1. Mengapa Feature Engineering Penting?

The 80/20 Rule

Data scientist menghabiskan ~80% waktu untuk data preparation & feature engineering, hanya 20% untuk modeling. Algoritma sederhana dengan feature bagus sering kalahkan algoritma kompleks dengan feature mentah.

2. Tipe Feature

๐Ÿ”ข

Numerical

Continuous (harga, suhu) atau discrete (jumlah). Bisa dipakai langsung dengan scaling.

๐Ÿท๏ธ

Categorical

Nominal (kategori warna) atau ordinal (small/medium/large). Butuh encoding.

๐Ÿ“…

Datetime

Tanggal/waktu โ€” extract day, month, weekday, hour untuk feature baru.

๐Ÿ“

Text

Bag-of-words, TF-IDF, word embeddings โ€” pelajari di materi NLP.

๐ŸŒ

Geospatial

Lat/long. Hitung jarak, region, demographic eksternal.

๐Ÿ–ผ๏ธ

Image

Pixel intensity. Pakai pretrained CNN feature extractor.

3. Handling Missing Data

4. Encoding Categorical

Label Encoding ['red', 'blue', 'green'] โ†’ [0, 1, 2]
// Implies ordering โ€” hanya untuk ordinal
One-Hot Encoding red โ†’ [1, 0, 0]
blue โ†’ [0, 1, 0]
green โ†’ [0, 0, 1]
// Default untuk nominal categorical
Target Encoding kategori โ†’ mean(target | kategori)
// Powerful untuk high-cardinality, hati-hati leakage
โš ๏ธ Warning

High Cardinality Trap

Categorical dengan 10,000+ unique values (mis. user_id) tidak cocok one-hot โ€” eksplosi dimensi. Pakai target encoding atau embedding (untuk neural network).

5. Feature Scaling

TeknikRumusOutput Range
Min-Max Normalization(x โˆ’ min) / (max โˆ’ min)[0, 1]
Standardization (Z-score)(x โˆ’ ฮผ) / ฯƒฮผ=0, ฯƒ=1
Robust Scaling(x โˆ’ median) / IQRResilient ke outlier
Log Transformlog(x + 1)Stabilize variance, untuk skewed

Scaling penting untuk algoritma yang sensitive ke jarak/magnitude: KNN, SVM, neural network, K-Means, PCA. Tidak penting untuk tree-based (Decision Tree, RF, XGBoost).

6. Feature Creation

7. Outlier Handling

Detect & Treat

Detect: Z-score (|z| > 3), IQR (data < Q1 - 1.5ร—IQR atau > Q3 + 1.5ร—IQR), Isolation Forest, visual (boxplot).

Treat: remove (jika outlier = error), cap/clip (winsorize), transform (log), atau model robust (Robust Regression).

8. Studi Kasus

๐ŸŒŸ Real World

Kompetisi Kaggle: Feature Engineering Wins

Di kompetisi Kaggle Avito Demand Prediction, tim juara membuat 800+ feature dari data mentah: TF-IDF text, image quality score, price-to-category-mean ratio, time-since-listing, dst.

Pelajaran: algoritma yang dipakai sama dengan tim lain (XGBoost). Yang membedakan adalah kualitas feature engineering. Investasi waktu di sini menghasilkan ROI terbesar.

๐Ÿ“ Tugas

Feature Pipeline Lengkap

  1. Pilih dataset dengan campuran tipe feature (numeric, categorical, datetime).
  2. Bangun pipeline preprocessing dengan sklearn ColumnTransformer.
  3. Handle missing values, encode categorical, scale numeric.
  4. Create minimum 3 feature baru via interaction/datetime/aggregation.
  5. Bandingkan performance model dengan vs tanpa feature engineering.

Rangkuman