Menyiapkan data mentah menjadi data berkualitas tinggi untuk pelatihan model AI
1. Mengapa Preprocessing Penting?
"Garbage in, garbage out" — kualitas data menentukan kualitas model. Tidak peduli seberapa canggih algoritma Anda, jika datanya buruk, hasilnya pasti mengecewakan.
Raw data biasanya kotor, tidak lengkap, dan tidak konsisten
Preprocessing adalah langkah krusial sebelum training model
Tanpa preprocessing yang benar, model tidak akan belajar dengan baik
Data yang bersih dan terstruktur = model yang akurat dan andal
Preprocessing mencakup: penanganan missing values, feature scaling, encoding kategorikal, dan pembagian data train/test. Klik tombol di bawah untuk melihat transformasi data kotor menjadi data bersih!
Klik "Lihat Transformasi Data" untuk melihat animasi
2. Handling Missing Values
Beberapa data seringkali hilang atau kosong (NaN). Ini bisa terjadi karena kesalahan input, sensor rusak, atau responden yang tidak mengisi survei.
Strategi Penanganan:
Hapus baris — jika jumlah data yang hilang sedikit
Isi dengan Mean — rata-rata dari kolom tersebut
Isi dengan Median — nilai tengah dari kolom tersebut (lebih robust terhadap outlier)
Tabel di bawah menunjukkan dataset dengan beberapa nilai hilang (ditandai ?). Pilih strategi untuk menangani missing values dan lihat efeknya pada scatter plot.
#
Usia
Gaji (Juta)
Skor
Pilih strategi untuk menangani missing values
3. Feature Scaling / Normalization
Ketika fitur memiliki skala yang sangat berbeda (misal: usia 20-60, gaji 3.000.000-50.000.000), gradient descent akan konvergen sangat lambat karena kontur loss function berbentuk elips memanjang.
Min-Max Normalization
x' = (x - min) / (max - min) → range [0, 1]
Standardization (Z-score)
x' = (x - μ) / σ → mean = 0, std = 1
Perhatikan bagaimana data berubah setelah scaling. Kontur loss function berubah dari elips memanjang (lambat) menjadi lingkaran (cepat konvergen). Ini menjelaskan mengapa feature scaling sangat penting untuk gradient descent!
Scatter Plot Data
Kontur Gradient Descent
Klik tombol untuk melihat efek feature scaling
4. Encoding Kategorikal
Algoritma ML membutuhkan input berupa angka, namun beberapa fitur berupa kategori (misal: warna, kota, jenis kelamin). Kita perlu mengubahnya menjadi representasi numerik.
Merah = [1,0,0], Biru = [0,1,0], Hijau = [0,0,1] — Tidak ada urutan tersirat!
Lihat animasi di bawah untuk memahami bagaimana fitur kategorikal diubah menjadi representasi numerik dengan One-Hot Encoding.
Klik "Mulai Animasi Encoding" untuk melihat transformasi
5. Train/Test Split
Mengapa perlu membagi data? Untuk menghindari overfitting dan mengevaluasi model pada data yang belum pernah dilihat (unseen data).
Pembagian umum: 70-80% training, 20-30% testing
Jangan pernah melatih model pada data test!
Data test digunakan hanya untuk evaluasi akhir
Geser slider untuk mengatur rasio pembagian data. Perhatikan bagaimana titik-titik data berubah warna: Biru = Training, Oranye = Testing.
Geser slider dan klik "Animasi Split"
6. Pipeline Preprocessing Lengkap
Berikut adalah urutan lengkap preprocessing data sebelum model training:
Load raw data — muat data mentah dari sumber
Handle missing values — tangani data yang hilang
Encode categorical features — ubah kategori menjadi angka
Scale/normalize numerical features — samakan skala fitur
Split into train/test — bagi data untuk training dan evaluasi
Ready for model training! — data siap digunakan
Klik "Jalankan Pipeline" untuk melihat alur preprocessing
7. Hubungan dengan Chapter Selanjutnya
Preprocessing adalah fondasi yang wajib dilakukan sebelum:
Melatih model Linear/Logistic Regression — scaling mempercepat konvergensi
Melatih Neural Network — normalisasi sangat krusial agar training stabil
Feature engineering untuk performa model yang lebih baik
Selanjutnya: Neural Network! Di chapter berikutnya, kita akan menggabungkan semua konsep yang sudah dipelajari (regresi, gradient descent, dan preprocessing) untuk membangun jaringan saraf tiruan.
Referensi
S. García, J. Luengo, F. Herrera, Data Preprocessing in Data Mining. Springer, 2015.
A. Zheng, A. Casari, Feature Engineering for Machine Learning. O'Reilly, 2018.
I. Goodfellow et al., Deep Learning. MIT Press, 2016, Ch. 5.
S. Raschka, V. Mirjalili, Python Machine Learning. Packt, 2019, Ch. 4.