Setiap keputusan preprocessing mengubah data
Dataset memiliki 3 missing values dari 100 data point. Tiga opsi:
- Hapus 3 baris (listwise deletion) — jumlah data berkurang
- Imputasi dengan mean — distribusi data berubah
- Imputasi dengan model — dependensi baru diperkenalkan
Ketiga opsi menghasilkan dataset yang sedikit berbeda, yang mungkin menghasilkan kesimpulan statistik yang berbeda. Mana yang "benar"? Tidak ada jawaban universal. Tapi apapun yang dipilih harus dijustifikasi dan didokumentasikan.
Preprocessing bukan proses teknis yang "otomatis." Ia serangkaian keputusan yang masing-masing membawa asumsi, dan asumsi-asumsi ini harus dibuat eksplisit.
Data Refinement Pipeline
Alur dari data mentah ke data yang siap dianalisis:
Raw Data → Cleaning: menghapus noise teknis — missing values ditangani, duplikat dihapus, error format diperbaiki. Tujuannya bukan mengubah substansi data, melainkan memastikan data bisa diproses secara konsisten.
Cleaning → Transformation: mengubah representasi data — variabel kategorikal di-encode, fitur di-aggregate, format disatukan. Transformasi mengubah cara data direpresentasikan, bukan artinya.
Transformation → Normalization: mengubah skala jika diperlukan untuk analisis tertentu — min-max scaling, z-score normalization. Normalisasi mengubah skala, bukan distribusi relatif antar sampel.
Normalization → Processed Data: verifikasi bahwa preprocessing tidak memperkenalkan artefak. Apakah distribusi masih masuk akal? Apakah jumlah data point konsisten?
Processed Data → Analysis Ready: semua langkah preprocessing didokumentasikan secara lengkap — metode, justifikasi, dan dampaknya.
Empat prinsip preprocessing
Consistency: langkah yang sama diterapkan ke semua bagian data, terutama ke data training dan testing secara terpisah (hindari data leakage).
Transparency: setiap langkah preprocessing harus jelas siapapun bisa merekonstruksinya. Tidak ada "magic transformation" yang tidak bisa dijelaskan.
Reproducibility: preprocessing harus bisa dijalankan ulang dan menghasilkan output yang identik. Gunakan version control untuk script preprocessing.
Minimal distortion: ubah data sesedikit mungkin. Setiap transformasi yang tidak diperlukan menambah kompleksitas dan potensi error.
Jebakan data leakage
Data leakage adalah salah satu masalah paling kritis dan paling halus dalam preprocessing riset TI berbasis machine learning. Ia terjadi ketika informasi dari data testing "bocor" ke proses training atau ke keputusan preprocessing.
Contoh umum:
- Normalisasi seluruh dataset (train + test sekaligus) — statistik dari data test mempengaruhi parameter normalisasi
- Feature selection berdasarkan seluruh dataset sebelum split
- Hyperparameter tuning menggunakan test set
Leakage menghasilkan estimasi performa yang terlalu optimistis — sistem terlihat lebih baik dari yang sebenarnya. Dan ini baru terdeteksi saat sistem diuji di kondisi deployment yang sebenarnya.
Data preprocessing sebagai bagian dari metodologi
Preprocessing bukan preprocessing sebelum metodologi dimulai. Preprocessing adalah bagian dari metodologi dan harus dilaporkan di bagian Methods, bukan disebutkan selintas di bagian Implementation.
Detail yang wajib dilaporkan: jenis preprocessing yang dilakukan, alasan pemilihan, parameter yang digunakan (misal: imputation method, normalization range), dan estimasi dampak terhadap distribusi data.