← Cara Saya Berpikir

Data Preprocessing yang Reproducible — Keputusan yang Mengubah Data dan Cara Mempertanggungjawabkannya

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:

  1. 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.

  2. Cleaning → Transformation: mengubah representasi data — variabel kategorikal di-encode, fitur di-aggregate, format disatukan. Transformasi mengubah cara data direpresentasikan, bukan artinya.

  3. Transformation → Normalization: mengubah skala jika diperlukan untuk analisis tertentu — min-max scaling, z-score normalization. Normalisasi mengubah skala, bukan distribusi relatif antar sampel.

  4. Normalization → Processed Data: verifikasi bahwa preprocessing tidak memperkenalkan artefak. Apakah distribusi masih masuk akal? Apakah jumlah data point konsisten?

  5. 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.

Helmi Bahara
Tentang penulis Helmi Bahara

Systems Architect & AI Workflow Thinker