Each worksheet now includes Ringkasan Materi, Template A.x, 3 exercises with example answers, and reflection prompts. Synced from rti-20252 student repo.
5.6 KiB
WS-13: Data Preprocessing
Bab 13 — Preprocessing & Persiapan Data untuk Analisis
Ringkasan Materi
Data Refinement Pipeline
Raw Data → Cleaning → Transformation → Normalization → Processed Data → Analysis Ready
Setiap tahap memiliki tujuan berbeda. Preprocessing bukan langkah teknis biasa — setiap keputusan preprocessing adalah keputusan riset yang bisa mengubah kesimpulan.
Empat Prinsip Preprocessing
| Prinsip | Deskripsi |
|---|---|
| Consistency | Metode sama untuk data yang sama |
| Transparency | Setiap langkah terdokumentasi |
| Reproducibility | Orang lain bisa mengulang dengan hasil sama |
| Minimal Distortion | Ubah sesedikit mungkin; jika normalisasi tidak perlu, jangan lakukan |
Cleaning Triad
| Masalah | Strategi | Risiko |
|---|---|---|
| Missing values | ||
| — Listwise deletion | Missing < 5%, random | Data loss |
| — Mean/median imputation | Sedikit missing, dist. normal | Mengurangi variabilitas |
| — Model-based imputation | Banyak missing, pola sistematis | Introduces dependency |
| — Flag & separate | Missing karena alasan substantif | Kompleksitas analisis |
| Duplikat | Identifikasi → verifikasi → hapus | False positive (data mirip ≠ duplikat) |
| Error format | Standardisasi tipe, encoding | Kehilangan informasi saat konversi |
Normalisasi — Kapan & Metode Mana
| Metode | Formula | Output | Sensitif Outlier? |
|---|---|---|---|
| Min-max | (x-min)/(max-min) | [0, 1] | Ya |
| Z-score | (x-mean)/std | Unbounded | Lebih robust |
| Robust scaling | (x-median)/IQR | Unbounded | Paling robust |
Kunci: Parameter normalisasi harus dihitung dari training set saja — bukan seluruh data. Pelanggaran = data leakage.
Data Leakage Prevention
Data leakage terjadi ketika informasi dari test set "bocor" ke preprocessing:
- Normalisasi parameter dari seluruh dataset ← SALAH
- Cross-validation dilakukan sebelum split ← SALAH
- Feature selection menggunakan label test set ← SALAH
Jebakan Kognitif
- "Preprocessing cuma teknis — tidak perlu detail" → bisa ubah kesimpulan
- "Lebih banyak preprocessing = lebih bersih = lebih baik" → over-processing distorsi data
- "Normalisasi selalu diperlukan" → belum tentu, tergantung metode analisis
- "Imputation sama untuk semua situasi" → strategi harus sesuai konteks
Template A.13 — Preprocessing Documentation Log
PREPROCESSING LOG
Dataset : ____________________
Jumlah data awal : ____________________
Cleaning:
| Masalah | Jumlah Kasus | Penanganan | Justifikasi |
|---------|-------------|------------|-------------|
| Missing | | | |
| Duplikat| | | |
| Error | | | |
Transformation:
| Transformasi | Variabel | Detail | Alasan |
|-------------|----------|--------|--------|
| | | | |
Normalization:
Metode : ____________________
Alasan : ____________________
Parameter : (dihitung dari: training set / seluruh data)
Leakage Check:
[ ] Parameter normalisasi dari training set saja
[ ] Tidak ada informasi test set dalam preprocessing
[ ] Cross-validation dilakukan setelah split
Jumlah data akhir : ____________________
Script tersedia : [ ] Ya → path: ____ | [ ] Belum
Latihan 1 — Cleaning Plan
Periksa dataset Anda (atau dataset contoh) dan dokumentasikan masalah yang ditemukan.
| Masalah | Jumlah Kasus | Penanganan | Justifikasi |
|---|---|---|---|
| Contoh: Missing di kolom "label" | 12 dari 500 (2.4%) | Listwise deletion | < 5%, distribusi random (MCAR) |
Jumlah data sebelum cleaning: ____ Jumlah data setelah cleaning: ____ Persentase data yang hilang/berubah: ____%
Latihan 2 — Normalisasi Decision
Tentukan apakah data Anda perlu normalisasi, dan jika ya, metode apa yang tepat.
| Variabel | Range Asli | Distribusi | Outlier? | Metode Normalisasi | Alasan |
|---|---|---|---|---|---|
| Contoh: response_time | 0.1 – 45.2s | Right-skewed | Ya (45.2s) | Robust scaling | Ada outlier, perlu robust |
Apakah normalisasi diperlukan? [ ] Ya / [ ] Tidak Justifikasi:
Leakage check:
- Parameter dihitung dari training set saja
- Normalisasi diterapkan setelah train-test split
Latihan 3 — Preprocessing Report
Buat ringkasan preprocessing lengkap — dokumentasi yang cukup bagi orang lain untuk mereplikasi.
PREPROCESSING SUMMARY
1. Dataset: ____________________
2. Data awal: ____ records, ____ features
3. Cleaning:
- Missing values: ____ kasus, metode: ____
- Duplikat: ____ kasus, tindakan: ____
- Error: ____ kasus, tindakan: ____
4. Transformation: ____________________
5. Normalisasi: ____ (metode), parameter dari ____
6. Data akhir: ____ records, ____ features
7. Leakage check: [ ] Lulus / [ ] Ada masalah
Refleksi
Apakah Anda pernah melakukan normalisasi "karena biasa dilakukan" tanpa mempertimbangkan apakah benar-benar diperlukan? Apa risiko over-preprocessing?