Praktikum Modul 7 Data Preprocessing & Feature Engineering

Daftar Isi

Catatan: Pada modul ini kita menggunakan dummy dataset penjualan online agar konteks pembelajaran lebih realistis dan mendekati kasus industri.

1. Setup & Library

Pada tahap awal praktikum ini, kita menyiapkan seluruh library yang akan digunakan dalam proses data preprocessing, feature engineering, modeling, dan evaluasi.

Library yang digunakan meliputi:

NumPy dan Pandas digunakan sebagai dasar pengolahan data, seperti manipulasi array dan dataframe.

Matplotlib digunakan untuk visualisasi data.

Scikit-learn (sklearn) menyediakan berbagai tools penting seperti preprocessing (scaling, encoding, imputasi), pemilihan fitur, reduksi dimensi, serta algoritma machine learning. Pada modul ini, algoritma yang digunakan sebagai contoh adalah K-Nearest Neighbors (KNN).

Penggunaan np.random.seed(42) bertujuan agar proses random (misalnya pembagian data) menghasilkan output yang konsisten setiap kali kode dijalankan.

2. Generate Dummy Dataset Penjualan Online

Pada tahap ini dibuat sebuah dataset dummy yang merepresentasikan data pelanggan toko online sebanyak 600 baris data.

Dataset ini dirancang untuk menyerupai data transaksi pelanggan nyata, sehingga dapat digunakan untuk latihan data cleaning dan machine learning.

3. Menyimpan Dataset (Google Colab)

Jika dataset ingin disimpan ke Google Drive sekaligus diunduh dalam bentuk file CSV, maka kode tambahan dapat disisipkan setelah proses pembuatan dataset.

Langkah ini penting agar dataset dapat digunakan kembali tanpa perlu melakukan generate ulang.

4. Menyisipkan “Kekotoran Data” (Duplikasi, Missing Value, Error Input)

Pada tahap ini, dataset dummy sengaja diberi beberapa bentuk kekotoran data agar lebih realistis dan menyerupai kondisi data di dunia industri.

Bentuk kekotoran data yang disisipkan antara lain:

Duplikasi data, yaitu dengan menggandakan 10 baris data untuk mensimulasikan data ganda.

Missing values, yaitu dengan mengubah beberapa nilai pada kolom numerik menjadi kosong (NaN).

Error input, yaitu dengan membuat nilai yang tidak masuk akal seperti nilai negatif serta outlier ekstrem (misalnya jumlah transaksi bernilai 999).

Dengan adanya kekotoran ini, dataset mencerminkan permasalahan nyata yang harus diselesaikan sebelum data digunakan dalam proses machine learning.

5. Menyimpan Dataset Kotor (Google Colab Drive & Download)

Tujuan dari tahap ini adalah memastikan bahwa dataset dummy yang telah ditambahkan data kotor benar-benar tersimpan.

Kode penyimpanan ditambahkan setelah proses penyisipan kekotoran data agar file CSV yang dihasilkan sudah mencerminkan kondisi dataset kotor.

6. Data Cleaning (Menghapus Duplikasi & Menangani Error Input)

Tahap data cleaning bertujuan untuk meningkatkan kualitas dataset sebelum digunakan untuk analisis dan pemodelan.

a) Menghapus duplikasi data

Baris data yang duplikat dihapus berdasarkan kombinasi kolom ID_Pelanggan, Kota, Jumlah Transaksi, dan Rata-rata Nilai Beli agar hasil analisis tidak bias.

b) Menangani error input

Nilai belanja yang bernilai negatif diubah menjadi NaN karena tidak masuk akal secara logika.

Nilai jumlah transaksi yang tidak wajar (misalnya lebih dari 200 transaksi) juga diubah menjadi NaN dan dianggap sebagai anomali.

c) Mengecek missing values

Setelah proses cleaning, dilakukan pengecekan jumlah data kosong (NaN) pada setiap kolom untuk memastikan kondisi dataset.

7. Menyimpan Dataset Bersih (Google Colab)

Tujuan dari tahap ini adalah memastikan bahwa dataset dummy yang telah dibersihkan dari duplikasi dan error input telah tersimpan dengan baik.

Kode penyimpanan ditambahkan setelah proses data cleaning selesai.

8. Data Cleaning (Imputasi Missing Values)

Pada tahap imputasi missing values, digunakan SimpleImputer dari library scikit-learn.

Imputasi dilakukan pada kolom numerik untuk mengisi nilai NaN dengan nilai statistik tertentu (misalnya mean), sehingga dataset menjadi lengkap dan siap digunakan untuk pemodelan.

10. Train/Test Split (Menghindari Data Leakage)

Pada tahap ini, dataset dibagi menjadi dua bagian yaitu data latih (train) dan data uji (test) menggunakan fungsi train_test_split dari scikit-learn.

Variabel target yang diprediksi adalah Loyal, sedangkan fitur input adalah seluruh kolom selain Loyal dan ID_Pelanggan.

ID_Pelanggan tidak digunakan sebagai fitur karena tidak memiliki makna prediktif dalam proses machine learning.

11. Menyimpan Hasil Train/Test Split ke CSV

Hasil pembagian data train dan test disimpan ke dalam file CSV.

Langkah ini penting untuk memastikan tidak terjadi data leakage serta memudahkan penggunaan dataset pada tahap modeling atau eksperimen lanjutan.

Ringkasan Variabel Dataset

Jenis Variabel Deskripsi
Input (Fitur) Kota, Jumlah Transaksi, Rata-rata Nilai Belanja, Rata-rata Diskon, Recency (hari sejak transaksi terakhir)
Target Output Loyal (1 = loyal, 0 = tidak loyal)

Variabel target Loyal dihitung menggunakan model logit sederhana yang ditambahkan noise agar distribusi data lebih realistis.

Dataset ini selanjutnya dapat digunakan sebagai bahan latihan klasifikasi untuk Machine Learning maupun Analisis Terapan.



➡️ Klik di sini untuk membuka file Google Drive (kode praktikum lengkap)

Disusun oleh: [Muhammad Rifaldi] - [20232010011]
Program Studi: [Bisnis Digital], Universitas Kuningan

Referensi

Sumber utama:

Modul Praktikum Machine Learning & AI, disusun oleh Adi Muhamad Muhsidi (2025).
Program Studi Bisnis Digital, Fakultas Ekonomi dan Bisnis, Universitas Kuningan.

Link flipbook: https://heyzine.com/flip-book/cbbbf75431.html

Atau dapat diakses langsung dari blog pribadi penulis di:
https://adi-muhamad.my.id

Posting Komentar