‹ Daftar slidePertemuan 10: Preprocessing dan Eksplorasi Data
Prodi Bisnis Digital · FEB UNDIP
Pembelajaran Dalam dan Pembelajaran Mesin
Pertemuan 10: Preprocessing dan Eksplorasi Data
Data mentah jarang siap pakai — sebelum model apa pun belajar, data harus dibersihkan, ditransformasi, dan dipahami polanya lebih dulu.
RPS minggu 11 · 2x50 menit
Bagian 1 dari 3
Mengapa Data Perlu Diproses Dulu?
Data mentah punya masalah kualitas — nilai hilang, noise, dan inkonsistensi — yang harus ditangani sebelum masuk pipeline data mining.
Data Mentah Itu Kotor
Sebelum masuk model, data hampir selalu punya salah satu atau lebih masalah berikut.
Missing Value
?
Nilai hilang / kosong
Contoh: kolom "nomor HP" kosong di 15% data pelanggan Tokopedia karena pengguna tidak wajib mengisi saat checkout.
Noise & Outlier
~
Data mengandung galat atau nilai ekstrem
Contoh: durasi baca artikel tercatat "9999 menit" akibat bug tracking, jelas bukan perilaku wajar pengguna.
Inconsistent
≠
Format/satuan tidak seragam
Contoh: satu sistem mencatat "Jakarta", sistem lain "DKI Jakarta" untuk kota yang sama.
Duplicate
≡
Baris data terekam berulang
Contoh: satu transaksi UMKM tercatat dua kali karena sinkronisasi ganda antar-cabang toko.
Posisi Preprocessing dalam Pipeline
Ingat kembali tahapan proses data mining dari pertemuan lalu — preprocessing ada tepat sebelum data siap dimodelkan.
Pertemuan 9 sudah membahas konsep dasar data mining dan tahapannya secara umum; hari ini kita membedah tahap kedua — preprocessing dan eksplorasi — secara mendalam.
Menangani Nilai yang Hilang
Missing value tidak boleh dibiarkan begitu saja — pilih strategi sesuai konteks data.
Hapus Baris/Kolom
Buang baris yang datanya hilang, cocok bila jumlahnya sedikit (<5% dari total data).
Imputasi Statistik
Isi dengan mean (rata-rata), median, atau modus dari kolom yang sama.
Prediksi Model
Gunakan model sederhana (mis. regresi) untuk menebak nilai hilang berdasarkan kolom lain.
Jangan langsung hapus semua baris bermasalah — kalau missing value tersebar di banyak baris, Anda bisa kehilangan mayoritas data berharga.
Hitung dari Nol: Imputasi Rata-Rata
Data omzet harian sebuah kedai kopi UMKM (juta Rupiah) selama 6 hari: 5, 7, 6, hilang, 8, 6.
Langkah
Perhitungan
Nilai
1. Jumlahkan data yang tersedia (5 hari)
5 + 7 + 6 + 8 + 6
32
2. Hitung banyak data yang tersedia
n data valid (tanpa yang hilang)
5
3. Hitung rata-rata (mean)
32 ÷ 5
6,4
4. Isi nilai yang hilang dengan mean
ganti data hilang → 6,4
6,4
Data Terisi Lengkap
6,4
Rp 6,4 juta — menggantikan nilai yang hilang di hari ke-4
Coba Sendiri: Isi Data Hilang dengan Imputasi Rata-Rata
Ubah nilai omzet harian yang tersedia, amati bagaimana nilai mean yang dipakai mengisi data hilang ikut berubah.
Noise dan Outlier: Bedanya Apa?
Noise
Galat acak dalam pengukuran atau pencatatan data — biasanya kesalahan kecil dan tersebar merata. Contoh: sensor GPS ojek online meleset beberapa meter akibat gangguan sinyal.
Outlier
Nilai yang jauh menyimpang dari pola mayoritas data — bisa jadi galat, bisa jadi kejadian nyata yang penting. Contoh: satu transaksi Rp 500 juta di antara transaksi rata-rata Rp 200 ribu.
Z = (x − μ) ÷ σ
μ (mu) = rata-rata data, σ (sigma) = simpangan baku (standar deviasi). Aturan umum: |Z| > 2 dianggap potensi outlier.
Hitung dari Nol: Deteksi Outlier dengan Z-Score
Durasi baca artikel di sebuah media digital (menit), n = 8: 2, 4, 4, 4, 5, 5, 7, 9.
Langkah
Perhitungan
Nilai
1. Hitung rata-rata (mean)
(2+4+4+4+5+5+7+9) ÷ 8
5
2. Hitung variansi populasi
Σ(x−5)² ÷ 8 = 32 ÷ 8
4
3. Hitung standar deviasi (σ)
√4
2
4. Hitung Z-score untuk x = 9
(9 − 5) ÷ 2
2
Kesimpulan
Z = 2
Tepat di batas ambang — layak diperiksa lebih lanjut sebagai potensi outlier
Bagian 2 dari 3
Transformasi dan Integrasi Data
Setelah data bersih, kita perlu menyamakan skala, meringkas volume, dan menggabungkan sumber data yang berbeda.
Normalisasi: Menyamakan Skala Data
Kasus: menggabungkan variabel usia (tahun) dan pendapatan (Rupiah) dalam satu model — skalanya jauh berbeda.
Walkthrough: Min-Max Scaling
1. Rumus: x' = (x − min) ÷ (max − min)
2. Data pendapatan berkisar Rp 2 juta – Rp 20 juta.
3. Pendapatan Rp 8 juta → (8−2)÷(20−2) = 6÷18 = 0,33.
4. Hasil selalu di rentang 0 sampai 1, sebanding antar-variabel.
2. Cocok saat data punya nilai ekstrem yang masih ingin dipertahankan.
3. Hasil biasanya berkisar −3 sampai +3.
4. Dipakai luas pada algoritma berbasis jarak: K-means, SVM, neural network.
Coba Sendiri: Bandingkan Min-Max dan Z-Score Scaling
Ubah nilai minimum dan maksimum data pendapatan, amati bagaimana hasil min-max scaling dan z-score scaling berbeda satu sama lain.
Reduksi Data: Meringkas Tanpa Kehilangan Makna
Data besar tidak selalu perlu diproses utuh — reduksi membuat komputasi lebih ringan dan cepat.
Sampling
%
Ambil sebagian data secara acak yang mewakili keseluruhan populasi, mis. 10.000 dari 1 juta transaksi.
Reduksi Dimensi
↓D
Kurangi jumlah variabel dengan PCA/SVD (sudah dipelajari pertemuan 2–4) tanpa banyak kehilangan informasi.
Agregasi
Σ
Ringkas data transaksi harian menjadi total mingguan atau bulanan untuk analisis tren.
Ingat kembali PCA (pertemuan 2), SVD dan ICA (pertemuan 3): itulah bentuk reduksi dimensi yang sudah Anda kuasai — di sini kita menempatkannya sebagai bagian dari tahap preprocessing.
Diskritisasi: Mengubah Angka Jadi Kategori
Kasus: mengelompokkan usia pelanggan sebuah aplikasi e-wallet menjadi kategori generasi.
Walkthrough Bertahap: Binning Usia
1. Data mentah: usia pelanggan berupa angka kontinu (17, 23, 35, 48, 61, ...).
3. Beri label kategori: "Gen Z", "Milenial", "Gen X", "Baby Boomer".
4. Setiap pelanggan dipetakan ke satu kategori, mis. usia 23 → "Gen Z".
5. Hasil: variabel kategori ini lebih mudah dipakai untuk segmentasi pemasaran & decision tree (pertemuan 11).
Integrasi Data: Menggabungkan Banyak Sumber
Perusahaan jarang punya satu sumber data tunggal — integrasi menimbulkan tantangan baru.
Tantangan Umum
Skema berbeda: kolom "nama_produk" vs "product_name"
Kunci penggabung (ID) tidak konsisten antar-sistem
Redundansi: variabel yang sama terhitung dua kali
Contoh Nyata
Toko ritel menggabungkan data kasir toko fisik dan data marketplace (mis. Tokopedia/Shopee) untuk melihat total penjualan lintas kanal — ID pelanggan dan format tanggal harus disamakan lebih dulu.
Duplikasi data ditangani dengan mencocokkan kunci unik (ID transaksi) lalu membuang baris yang identik atau nyaris identik.
Bagian 3 dari 3
Eksplorasi Data (EDA)
Setelah data bersih dan rapi, saatnya "mengobrol" dengan data lewat statistik ringkas dan visualisasi sebelum memodelkannya.
Statistik Deskriptif: Meringkas Data
Sebelum membuat grafik, kenali dulu angka-angka ringkas yang menggambarkan data Anda.
Tendensi Sentral
x̄
Mean (rata-rata), median (nilai tengah), modus (nilai tersering) — menggambarkan "pusat" data.
Sebaran
σ
Variansi dan standar deviasi mengukur seberapa lebar data tersebar dari pusatnya (dihitung slide 8).
Bentuk Sebaran
Q1–Q3
Kuartil membagi data jadi 4 bagian sama rata; jarak Q1–Q3 disebut IQR (Interquartile Range).
Median lebih tahan terhadap outlier dibanding mean — gunakan median saat data punya nilai ekstrem, mis. gaji karyawan dengan satu direktur bergaji jauh di atas rata-rata.
Coba Sendiri: Ringkas Data dengan Statistik Deskriptif
Ubah nilai data mentah termasuk menambah satu nilai ekstrem, amati bagaimana mean, median, dan kuartil bereaksi berbeda.
Visualisasi: Melihat Pola dengan Mata
Histogram
Sebaran frekuensi 1 variabel, mis. distribusi usia pelanggan.
Boxplot
Kuartil & outlier (lingkaran) — ringkas sebaran & nilai ekstrem.
Scatter Plot
Hubungan 2 variabel, mis. durasi pakai aplikasi vs jumlah transaksi.
Korelasi: Mengukur Hubungan Dua Variabel
Koefisien korelasi (r) berkisar dari −1 sampai +1 — menunjukkan arah dan kekuatan hubungan linear.
Walkthrough Interpretasi
1. r mendekati +1: hubungan positif kuat — mis. lama sesi belanja di Shopee vs jumlah item di keranjang.
2. r mendekati −1: hubungan negatif kuat — mis. harga diskon vs jumlah komplain retur.
3. r mendekati 0: hampir tidak ada hubungan linear — mis. warna latar aplikasi vs nilai transaksi.
4. Peringatan: korelasi bukan sebab-akibat — dua variabel bisa berkorelasi karena faktor ketiga yang tersembunyi.
Geser titik-titik data pada scatter plot, amati bagaimana koefisien korelasi r berubah dari mendekati +1, 0, sampai -1.
Studi Kasus: Alur Preprocessing UMKM Digital
Sebuah UMKM fesyen daring ingin menganalisis data 3 bulan transaksinya sebelum membangun model prediksi penjualan.
Walkthrough Alur Kerja
1. Kumpulkan: gabungkan data dari marketplace + toko fisik (integrasi data).
2. Bersihkan: isi harga yang hilang dengan median, buang baris duplikat transaksi.
3. Deteksi outlier: cek transaksi dengan Z-score — satu order senilai Rp 50 juta ternyata pesanan grosir, bukan galat, sehingga dipertahankan.
4. Transformasi: normalisasi harga & diskritisasi usia pelanggan jadi kategori generasi.
5. Eksplorasi: histogram penjualan per bulan & korelasi harga diskon vs jumlah unit terjual.
6. Data siap → lanjut ke tahap klasifikasi & decision tree pekan depan.
Latihan Kelas: Giliran Anda Menghitung
Kerjakan berpasangan (5 menit), lalu kita bahas bersama.
Data lama nonton video edukasi di sebuah platform belajar daring (menit), n = 6: 10, 12, 11, 13, 12, hilang.
Soal 1: Isi nilai yang hilang menggunakan imputasi mean dari 5 data yang tersedia. Soal 2: Dataset lain n = 5: 3, 5, 5, 5, 22. Hitung mean, variansi, standar deviasi, lalu Z-score untuk nilai 22. Apakah nilai ini potensi outlier (|Z| > 2)?
Petunjuk Soal 1
Jumlahkan 5 data ÷ 5 — ikuti pola slide 6
Petunjuk Soal 2
Ikuti 4 langkah pola slide 8 secara berurutan
Rangkuman & Menuju Pertemuan 11
Tahap
Teknik Kunci
Tujuan
Pembersihan
Imputasi mean/median, hapus duplikat
Data lengkap & tidak berulang
Deteksi Anomali
Z-score, |Z| > 2
Temukan noise & outlier
Transformasi
Min-max/Z-score scaling, binning
Skala seragam & kategori jelas
Eksplorasi
Statistik deskriptif, histogram, korelasi
Pahami pola sebelum modeling
Minggu Depan (P11)
Klasifikasi Data dan Teknik Decision Tree, Bayesian, Ensemble — data yang sudah kita siapkan hari ini akan langsung dipakai membangun model klasifikasi pertama Anda.
Tugas
TM
Bawa 1 dataset kecil (boleh dari Kaggle/BPS) yang punya missing value/outlier untuk dipraktikkan di P11