Apa itu data preprocessing dalam machine learning?
Data preprocessing adalah rangkaian langkah yang mengubah data mentah menjadi input numerik bersih untuk training model. Biasanya isinya menangani missing value, melakukan scaling pada feature numerik, melakukan encoding pada feature kategoris, dan membagi data menjadi training set, validation set, dan test set. Setiap langkah dipelajari dari data training, lalu diterapkan apa adanya ke data baru.
Sebagian besar kualitas model sudah ditentukan oleh preprocessing sebelum training dimulai. Model berbasis jarak seperti KNN dan SVM memberi jawaban yang salah pada feature tanpa scaling, sebagian besar library menolak kategori berupa teks dan sel kosong, dan split yang ceroboh bisa membuat model lemah terlihat sangat bagus. Dalam praktik, alat seperti Pipeline dan ColumnTransformer dari scikit-learn membungkus langkah-langkah ini agar transformasi yang sama berjalan saat training, evaluasi, dan produksi.
Ide utama
- Data preprocessing mengubah data mentah yang berantakan menjadi input numerik bersih untuk training model.
- Missing value bisa dihapus atau diisi dengan imputation, dan pilihan yang tepat bergantung pada alasan nilainya hilang.
- Scaling membuat rentang feature sebanding, dan outlier menentukan metode scaling mana yang paling cocok.
- One-hot encoding cocok untuk kategori tanpa urutan, sedangkan ordinal encoding cocok untuk kategori yang punya urutan nyata.
- Data dibagi sebelum langkah preprocessing apa pun di-fit, dan setiap langkah di-fit hanya pada baris training.
- Pipeline menerapkan transformasi hasil belajar yang sama ke data training, test, dan produksi.
Pertanyaan umum
Apa bedanya data cleaning dan data preprocessing?
Data cleaning memperbaiki kesalahan pada data: duplikat, salah ketik, nilai yang mustahil, dan satuan yang tidak konsisten. Preprocessing lebih luas dan juga mencakup transformasi yang bukan perbaikan, seperti scaling, encoding, dan split. Cleaning biasanya dilakukan sekali pada dataset, sedangkan langkah preprocessing di-fit pada data training dan diterapkan lagi ke setiap input baru.
Apa itu data leakage?
Data leakage terjadi ketika informasi yang tidak tersedia saat prediksi sampai ke model selama training. Contoh yang umum adalah melakukan fit scaler pada seluruh dataset sebelum split, atau memakai feature yang dihitung dari target. Leakage membuat skor validasi terlihat lebih bagus daripada performa di dunia nyata.
Apakah neural network butuh data preprocessing?
Ya, walaupun feature engineering-nya lebih sedikit. Input tetap melalui scaling, misalnya untuk gambar dengan mengurangi rata-rata setiap kanal warna lalu membaginya dengan simpangan bakunya. Teks diubah menjadi ID bilangan bulat lewat tokenization, dan missing value tetap perlu diputuskan penanganannya sebelum training.
Bagaimana cara menangani outlier?
Cek dulu apakah outlier itu kesalahan atau nilai ekstrem yang nyata. Kesalahan diperbaiki atau dibuang. Nilai ekstrem yang nyata bisa dipertahankan dan ditangani dengan log transform, clipping pada persentil tinggi, robust scaling, atau model seperti decision tree yang lebih tahan terhadapnya.
Penjelasan terkait
- Feature Scaling · Kenapa dan bagaimana menormalkan feature agar lebih cepat konvergen
- Feature Extraction · Cara network menemukan pola dalam data mentah
- Training, Validation, dan Test Set · Membagi data untuk mengukur generalization dan menghindari overfitting
- Cross-Validation · Evaluasi dengan k-fold, stratified, dan leave-one-out
- Class Imbalance & Resampling · SMOTE, class weight, dan metrik di luar akurasi
- Overfitting dan Underfitting · Bias-variance tradeoff dan generalisasi
Referensi
- scikit-learn User Guide, "Preprocessing data"
- James, Witten, Hastie & Tibshirani, "An Introduction to Statistical Learning" (ISLR)
- Rubin (1976), "Inference and Missing Data", Biometrika
Terakhir diperbarui