Capaian Pembelajaran
Setelah minggu ini kamu bisa:
- Menjelaskan tahapan Knowledge Discovery in Databases (KDD) dan posisi data mining di dalamnya.
- Membedakan basis data operasional (OLTP) dengan data warehouse (OLAP).
- Mengidentifikasi tipe atribut (nominal, biner, ordinal, interval, rasio).
- Menghitung statistik deskriptif dasar dan mengenali masalah kualitas data.
- Menyiapkan lingkungan kerja Python + Jupyter (dan mengenal Weka).
1. Apa itu Data Mining?
Data mining = proses menemukan pola yang menarik, valid, baru, berguna, dan dapat dipahami dari data dalam jumlah besar.
Pola dianggap menarik bila:
| Kriteria | Pertanyaan |
|---|---|
| Valid | Apakah pola tetap berlaku di data baru? |
| Baru (novel) | Apakah ini belum diketahui sebelumnya? |
| Berguna | Apakah bisa ditindaklanjuti untuk keputusan bisnis? |
| Dapat dipahami | Apakah manusia bisa menginterpretasikannya? |
Data mining berada di persimpangan statistik, machine learning, basis data, dan komputasi terdistribusi.
Jenis tugas data mining
| Tugas | Pertanyaan bisnis | Contoh algoritma | Minggu |
|---|---|---|---|
| Asosiasi | Produk apa yang sering dibeli bersama? | Apriori, FP-Growth | 4–5 |
| Klasifikasi | Apakah pelanggan ini akan churn? | Decision Tree, Naïve Bayes, KNN | 6–8 |
| Clustering | Ada segmen pelanggan apa saja? | K-Means, DBSCAN | 10–11 |
| Deteksi anomali | Transaksi/mesin mana yang tidak normal? | Isolation Forest, Autoencoder | 16 |
| Analisis graf/stream | Halaman mana paling penting? | PageRank, LSH | 15 |
2. Siklus KDD (Knowledge Discovery in Databases)
Model klasik Fayyad dkk. (1996):
Data mentah ──► [1] Selection ──► Target data
──► [2] Preprocessing (cleaning, integrasi) ──► Data bersih
──► [3] Transformation (reduksi, normalisasi) ──► Data siap olah
──► [4] Data Mining ──► Pola
──► [5] Interpretation / Evaluation ──► PENGETAHUAN
▲ │
└──────── iterasi / umpan balik ───┘
| Tahap | Aktivitas | Contoh di e-commerce |
|---|---|---|
| 1. Selection | Pilih sumber & subset data yang relevan | Ambil transaksi 12 bulan terakhir |
| 2. Preprocessing | Bersihkan nilai hilang, noise, duplikat; integrasikan sumber | Satukan data web + aplikasi + kasir |
| 3. Transformation | Normalisasi, diskretisasi, reduksi dimensi, rekayasa fitur | Ubah tanggal → recency, hitung total belanja |
| 4. Data Mining | Terapkan algoritma | K-Means untuk segmentasi |
| 5. Interpretation | Evaluasi & visualisasi, terjemahkan ke aksi | "Segmen 3 = pelanggan loyal berbelanja besar → beri program VIP" |
Fakta lapangan: 60–80% waktu proyek data mining habis di tahap 1–3 (persiapan data). Karena itu Minggu 2 dan 3 sangat penting.
KDD sering disandingkan dengan CRISP-DM (Business Understanding → Data Understanding → Data Preparation → Modeling → Evaluation → Deployment). CRISP-DM lebih menekankan sisi bisnis dan deployment.
3. OLTP vs OLAP
| Aspek | OLTP (basis data operasional) | OLAP (data warehouse) |
|---|---|---|
| Tujuan | Menjalankan operasi harian | Analisis & pengambilan keputusan |
| Pengguna | Kasir, aplikasi, pelanggan | Analis, manajer, data scientist |
| Operasi | INSERT/UPDATE/DELETE kecil, sangat sering | SELECT agregat besar, jarang di-update |
| Data | Terkini, detail | Historis, terintegrasi, teragregasi |
| Desain | Normalisasi (3NF), hindari redundansi | Denormalisasi (star/snowflake schema) |
| Ukuran | GB | TB–PB |
| Contoh kueri | "Kurangi stok produk X sebanyak 1" | "Total penjualan per kategori per kuartal per wilayah" |
Data warehouse dibahas mendalam di Minggu 3.
4. Tipe Atribut (Data)
Atribut
├── Kategorikal (kualitatif)
│ ├── Nominal : label tanpa urutan → kota, warna, metode bayar
│ ├── Biner : dua nilai → gender L/P, churn 0/1
│ │ ├── simetris (dua nilai sama penting, mis. gender)
│ │ └── asimetris (nilai 1 lebih penting, mis. hasil tes positif)
│ └── Ordinal : punya urutan, jarak tak bermakna → silver < gold < platinum
└── Numerik (kuantitatif)
├── Interval : jarak bermakna, nol tidak mutlak → suhu °C, tahun
└── Rasio : punya nol mutlak, bisa dibandingkan rasio → umur, pendapatan
Mengapa penting? Operasi yang sah berbeda-beda:
| Tipe | =, ≠ | <, > | +, − | ×, ÷ | Ukuran pusat |
|---|---|---|---|---|---|
| Nominal | ✔ | modus | |||
| Ordinal | ✔ | ✔ | median, modus | ||
| Interval | ✔ | ✔ | ✔ | mean, median | |
| Rasio | ✔ | ✔ | ✔ | ✔ | mean, median, (rata-rata geometrik) |
Kesalahan umum: menghitung rata-rata kode pos atau ID pelanggan — padahal itu nominal.
Atribut juga dibedakan diskrit (jumlah nilai terhitung: jumlah anak, frekuensi beli) dan kontinu (bilangan real: berat, suhu).
5. Statistik Deskriptif
Untuk data x1..xn:
- Mean:
x̄ = Σxi / n— sensitif terhadap outlier. - Median: nilai tengah setelah diurutkan — robust terhadap outlier.
- Modus: nilai paling sering muncul.
- Kuartil: Q1 (persentil 25), Q2 = median, Q3 (persentil 75).
- IQR = Q3 − Q1. Aturan outlier Tukey: di luar
[Q1 − 1.5·IQR, Q3 + 1.5·IQR]. - Varians sampel:
s² = Σ(xi − x̄)² / (n − 1); standar deviasis = √s².
Contoh: x = [2, 4, 4, 5, 7, 9, 40]
- mean = 71/7 = 10.14; median = 5; modus = 4
- Outlier 40 menarik mean jauh ke atas, median tetap stabil → gunakan median untuk data miring (skewed), misalnya pendapatan.
Bentuk distribusi: jika mean > median → miring kanan (right-skewed); mean < median → miring kiri.
6. Masalah Kualitas Data (preview Minggu 2)
| Masalah | Contoh | Dampak |
|---|---|---|
| Nilai hilang (missing) | umur kosong | Algoritma error / bias |
| Noise / outlier | umur = 999 | Statistik terdistorsi |
| Inkonsisten | "Jakarta", "JAKARTA", " Jakarta " | Satu kota terhitung tiga |
| Duplikat | baris sama tercatat dua kali | Penghitungan ganda |
| Tipe salah | angka tersimpan sebagai teks | Tidak bisa dihitung |
7. Big Data: 5V
| V | Arti | Teknologi terkait (Minggu) |
|---|---|---|
| Volume | Ukuran sangat besar | HDFS, Spark (12–14) |
| Velocity | Data datang cepat/terus-menerus | Stream mining (15) |
| Variety | Terstruktur, semi, tidak terstruktur | Data lake, NoSQL |
| Veracity | Kualitas/kepercayaan data | Preprocessing (2) |
| Value | Nilai bisnis yang dihasilkan | Seluruh siklus KDD |
8. Persiapan Lingkungan
# di folder data-mining-big-data
python -m venv .venv
.venv\Scripts\activate # Windows (Linux/Mac: source .venv/bin/activate)
pip install -r requirements.txt
jupyter notebook # atau buka .ipynb di VS Code
Weka (opsional, GUI): unduh dari situs resmi Universitas Waikato, buka Explorer → Open file → pilih CSV/ARFF. Tab Preprocess menampilkan tipe atribut & statistik seperti yang kita hitung dengan Pandas.
Ringkasan
- KDD = Selection → Preprocessing → Transformation → Data Mining → Interpretation.
- Data mining hanya satu tahap dari KDD; persiapan data memakan waktu terbanyak.
- OLTP untuk operasi, OLAP untuk analisis.
- Tipe atribut menentukan operasi & statistik yang sah.
- Median & IQR lebih tahan outlier daripada mean & standar deviasi.
Bacaan
- Han, Kamber & Pei — Data Mining: Concepts and Techniques, Bab 1–2.
- Fayyad, Piatetsky-Shapiro & Smyth (1996) — From Data Mining to Knowledge Discovery in Databases.
Tugas Minggu Ini
- Kerjakan
lab.ipynbsampai selesai. - Kerjakan kuis (di web, atau baca
quiz.json). - Isi
exercise.py, lalu cek:python check.py 1