stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-06
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 6: Teknik prediktif: regresi dan klasifikasi

Teknik prediktif: regresi dan klasifikasi

Big Data Analysis  |  Pertemuan 6  |  CPMK 1, 2, 3

Program Bisnis Digital  ·  150 menit

Agenda Pertemuan

Teori (75 menit)
  • Model regresi linear & non-linear
  • Teknik klasifikasi: Logistic Regression, Decision Tree, Random Forest, Naive Bayes
  • Metrik evaluasi model prediktif
Praktik & Diskusi (75 menit)
  • Studi kasus: prediksi churn pelanggan BRImo
  • Latihan membangun model regresi sederhana
  • Interpretasi confusion matrix & ROC curve
  • Diskusi kelompok & Q&A

Tujuan Pembelajaran

01
  • Merumuskan permasalahan bisnis digital ke dalam formulasi prediktif (regression vs. classification)
02
  • Membangun dan menginterpretasikan model regresi linear & non-linear pada data bisnis nyata
03
  • Memilih dan menerapkan algoritma klasifikasi yang tepat sesuai karakteristik data dan tujuan bisnis
04
  • Mengevaluasi performa model menggunakan metrik yang relevan (RMSE, akurasi, precision, recall, AUC)
Topik 1

Model Regresi Linear & Non-Linear

Memprediksi nilai kontinu dari variabel input

Regresi Linear: Fondasi Prediktif

Definisi: Model yang memetakan hubungan linear antara satu atau lebih variabel prediktor (X) dengan variabel target kontinu (Y).

Simple: Y = β₀ + β₁X + ε
Multiple: Y = β₀ + β₁X₁ + β₂X₂ + ... + βₙXₙ + ε
Contoh bisnis: Memprediksi nilai transaksi harian pengguna GoPay berdasarkan frekuensi login, usia akun, dan riwayat top-up.
KomponenMakna
β₀ (intercept)Nilai Y saat semua X = 0
β₁...βₙ (koefisien)Perubahan Y per unit X
ε (error)Residual / gangguan acak
R² (R-squared)Proporsi variansi Y yang dijelaskan model (0–1)

Estimasi parameter via Ordinary Least Squares (OLS): meminimalkan jumlah kuadrat residual.

Coba Sendiri: Geser Garis Regresi, Lihat Koefisiennya

Geser titik data dan amati bagaimana garis regresi serta nilai β₀ (intercept) dan β₁ (slope) berubah mengikuti pola data.

Regresi Non-Linear: Menangkap Pola Kompleks

Polynomial Regression
  • Menambah term X², X³ dll.
  • Cocok untuk hubungan kurvilinear
  • Contoh: pertumbuhan pengguna platform e-commerce pada tahap awal vs. saturasi
Ridge & Lasso Regression
  • Regularisasi mencegah overfitting pada data berdimensi tinggi
  • Lasso: seleksi fitur otomatis (koefisien → 0)
  • Ridge: menyusutkan koefisien secara merata
Regression Tree / Gradient Boosting
  • Menangkap interaksi non-linear kompleks
  • XGBoost banyak dipakai tim data science Tokopedia & Shopee
  • Interpretasi via SHAP values
Kapan memilih non-linear? Ketika plot residual regresi linear menunjukkan pola sistematis, atau ketika domain knowledge mengindikasikan hubungan kurvilinear (mis. efek diminishing returns pada anggaran iklan digital).

Formulasi Masalah Bisnis ke Regresi

Permasalahan BisnisVariabel Target (Y)Prediktor Utama (X)Model Awal
Prediksi pendapatan iklan Gojek Ads bulan depanRevenue (Rp)Jumlah pengguna aktif, CPM historis, seasonalityMultiple Linear
Estimasi lifetime value pelanggan TokopediaCLV 12 bulan (Rp)Frekuensi transaksi, kategori produk, metode bayarGradient Boosting
Prediksi volume transaksi BCA Mobile per hariJumlah transaksiHari kerja/libur, promosi aktif, jumlah pengguna loginPolynomial / Ridge
Estimasi harga properti di SemarangHarga (Rp)Luas tanah, lokasi kecamatan, akses jalan, tahun bangunMultiple Linear + interaksi

Coba Sendiri: Bobot Tiap Prediktor pada Regresi Berganda

Ubah nilai beberapa prediktor sekaligus (misal frekuensi login, usia akun, riwayat top-up) lalu amati kontribusi masing-masing koefisien β terhadap prediksi Y.

Topik 2

Teknik Klasifikasi untuk Prediksi

Memprediksi kategori atau kelas dari suatu observasi

Logistic Regression & Decision Tree

Logistic Regression

Memprediksi probabilitas kelas menggunakan fungsi sigmoid:

P(Y=1) = 1 / (1 + e−(β₀ + β₁X₁ + ...))
  • Output: probabilitas 0–1, threshold 0.5 untuk klasifikasi biner
  • Interpretasi: odds ratio dari setiap koefisien
  • Contoh: prediksi pengajuan kredit BRI disetujui/ditolak
Decision Tree
  • Membagi data secara rekursif menggunakan aturan if-then berdasarkan fitur terbaik
  • Kriteria pemisahan: Gini Impurity atau Information Gain (Entropy)
  • Mudah diinterpretasikan — dapat divisualisasikan sebagai pohon keputusan
  • Risiko: overfitting jika kedalaman pohon tidak dibatasi (pruning diperlukan)
  • Contoh: segmentasi risiko nasabah KUR Telkom

Coba Sendiri: Geser Threshold pada Kurva Sigmoid

Ubah nilai X lalu amati bagaimana kurva sigmoid mengubahnya menjadi probabilitas 0-1, dan bagaimana threshold 0,5 menentukan kelas akhir.

Coba Sendiri: Bangun Split Decision Tree dengan Gini Impurity

Pilih fitur pemisah lalu amati bagaimana nilai Gini Impurity berubah setelah data terbagi menjadi cabang kiri dan kanan.

Random Forest & Naive Bayes

Random Forest
  • Ensemble dari banyak decision tree yang dilatih pada subset data acak (bagging)
  • Prediksi final: voting mayoritas (klasifikasi) atau rata-rata (regresi)
  • Lebih robust terhadap overfitting dibanding single decision tree
  • Feature importance: mengidentifikasi variabel paling prediktif
  • Contoh: deteksi fraud transaksi kartu kredit BCA — ~>10 juta transaksi/hari
Naive Bayes
  • Berdasarkan Teorema Bayes dengan asumsi independensi antar fitur
  • P(Y|X) ∝ P(X|Y) × P(Y)
  • Sangat cepat dan efisien untuk data teks atau kategorikal
  • Cocok untuk klasifikasi sentimen ulasan produk Tokopedia / Shopee
  • Performanya menurun ketika fitur berkorelasi kuat

Coba Sendiri: Klasifikasi Teks dengan Naive Bayes

Masukkan kata-kata dalam ulasan produk lalu amati bagaimana Naive Bayes menghitung probabilitas positif/negatif dari tiap kata.

Perbandingan Algoritma Klasifikasi

AlgoritmaKelebihanKeterbatasanKasus Cocok
Logistic RegressionInterpretabel, cepat, probabilitas eksplisitHanya linear boundaryCredit scoring, churn biner
Decision TreeVisualisasi jelas, non-linearOverfitting, tidak stabilSegmentasi pelanggan, rules bisnis
Random ForestAkurasi tinggi, robust, feature importanceKurang interpretabel, lambat pada data raksasaDeteksi fraud, prediksi churn
Naive BayesSangat cepat, efektif teksAsumsi independensi sering dilanggarKlasifikasi teks, spam filter
Panduan praktis: Tidak ada algoritma terbaik secara universal. Mulai dari model sederhana (Logistic Regression), ukur performa, lalu tingkatkan kompleksitas hanya jika diperlukan — prinsip Occam's Razor dalam machine learning.
Topik 3

Evaluasi Model Prediktif & Studi Kasus

Mengukur dan memvalidasi kualitas model secara objektif

Metrik Evaluasi: Model Regresi

MetrikFormulaInterpretasi
MAEMean |yᵢ − ŷᵢ| / nRata-rata kesalahan absolut; skala sama dengan Y
RMSE√(Mean (yᵢ − ŷᵢ)²)Menghukum error besar; sensitif outlier
1 − SS_res/SS_tot0–1; proporsi variansi yang dijelaskan model
MAPEMean |yᵢ − ŷᵢ|/|yᵢ| × 100%Error dalam %, mudah dikomunikasikan ke bisnis
Contoh interpretasi:
Model prediksi pendapatan iklan Gojek menghasilkan RMSE = Rp 12 juta dan MAPE = 8,3%. Artinya, rata-rata prediksi meleset sekitar 8,3% dari nilai aktual — cukup baik untuk perencanaan anggaran kampanye iklan.
Train/Test Split: Selalu evaluasi pada data uji yang terpisah (biasanya 80:20 atau 70:30). Model dengan R² = 0,98 pada data latih tapi 0,45 pada data uji = overfitting.

Coba Sendiri: Amati R² Naik Turun Sesuai Kecocokan Model

Geser titik data menjauh atau mendekati garis regresi lalu amati bagaimana nilai R² berubah sebagai ukuran proporsi variansi yang dijelaskan model.

Confusion Matrix & Metrik Klasifikasi

Prediksi: PositifPrediksi: Negatif
Aktual: PositifTP (True Positive)FN (False Negative)
Aktual: NegatifFP (False Positive)TN (True Negative)
Accuracy = (TP + TN) / Total
Precision = TP / (TP + FP)
Recall = TP / (TP + FN)
F1-Score = 2 × (Precision × Recall) / (Precision + Recall)
Kapan Prioritaskan Apa?
KasusPrioritasAlasan
Deteksi fraud BCARecall tinggiMiss fraud = rugi besar
Klasifikasi spam email TokopediaPrecision tinggiEmail penting jangan terblokir
Prediksi churn BRImoF1-ScoreKeseimbangan precision-recall

AUC-ROC: Mengukur kemampuan model membedakan kelas terlepas dari threshold. AUC = 0.5 (acak), AUC = 1.0 (sempurna). Umumnya model produksi baik memiliki AUC > 0.80.

Coba Sendiri: Ubah TP/FP/FN/TN, Lihat Dampak ke Precision-Recall

Ubah angka pada confusion matrix lalu amati bagaimana accuracy, precision, recall, F1-score, dan AUC-ROC berubah bersamaan.

Cross-Validation & Overfitting

k-Fold Cross-Validation
  • Data dibagi k bagian (fold) — biasanya k = 5 atau 10
  • Model dilatih k kali, setiap kali satu fold menjadi data uji
  • Melaporkan rata-rata dan standar deviasi metrik
  • Memberikan estimasi performa lebih andal dibanding satu split
Bias-Variance Tradeoff:
Model terlalu sederhana → underfitting (bias tinggi)
Model terlalu kompleks → overfitting (varians tinggi)
Target: titik optimal di antara keduanya
GejalaTrain ErrorTest ErrorSolusi
UnderfittingTinggiTinggiTambah fitur, model kompleks
OverfittingRendahTinggiRegularisasi, pruning, lebih banyak data
Good fitRendahRendahDeploy model

Praktik terbaik: gunakan validation set terpisah untuk tuning hyperparameter, simpan test set hanya untuk evaluasi akhir — jangan "peek" sebelum model final.

Coba Sendiri: Bias vs Error — Analogi Menembak Target

Geser bias (sistematis meleset) dan error (sebaran acak) lalu amati pola 30 tembakan pada target — analogi visual untuk intuisi bias-variance tradeoff yang baru dibahas.

Studi Kasus: Prediksi Churn Pelanggan BRImo

Konteks Bisnis

BRImo (Super App BRI) melayani >35 juta pengguna terdaftar (data publik 2024). Biaya akuisisi pelanggan baru ~5–7x lebih mahal daripada retensi. Tim data science perlu mengidentifikasi pelanggan berisiko churn 30 hari ke depan untuk intervensi proaktif.

Label: Churn = pengguna tidak melakukan transaksi selama 90 hari
Target bisnis: Recall > 75%, Precision > 60% (minimize missed churners)
Fitur PrediktorTipe
Frekuensi login 30 hari terakhirNumerik
Jumlah transaksi bulan ini vs. bulan laluNumerik (delta)
Produk yang digunakan (tabungan, pinjaman, investasi)Kategorikal
Saldo rata-rata 3 bulanNumerik
Waktu sejak transaksi terakhir (recency)Numerik
Keluhan / tiket CS terbukaBiner

Pipeline Model BRImo Churn

1. Persiapan Data
  • Ekstraksi dari data warehouse BRI
  • Handle missing values (median imputation untuk saldo)
  • Encoding fitur kategorikal (one-hot encoding)
  • Normalisasi fitur numerik (StandardScaler)
  • SMOTE untuk mengatasi class imbalance (~5% churn)
2. Pemodelan & Tuning
  • Baseline: Logistic Regression
  • Kandidat: Random Forest, XGBoost
  • Hyperparameter tuning via GridSearchCV (5-fold CV)
  • Seleksi model berdasarkan F1-Score & AUC-ROC
  • Feature importance analysis
3. Deployment & Monitoring
  • Threshold tuning sesuai biaya bisnis (cost-sensitive)
  • Model disimpan sebagai API endpoint (Flask/FastAPI)
  • Output: daftar pelanggan berisiko tinggi untuk tim CRM
  • Monitoring drift data bulanan
  • Retrain model setiap kuartal

Diagram: Alur Teknik Prediktif

PermasalahanBisnisTargetvariabel?KontinuREGRESILinear / Polynomial / RidgeKategorikalKLASIFIKASILogistic / Tree / RF / NBEVALUASIRMSE, R² (Regresi)Accuracy, F1, AUC(Klasifikasi)Deploy &MonitorRetrain berkalaLangkah 1Langkah 2Langkah 3Langkah 4

Rangkuman

5 Key Takeaway Pertemuan 6
  1. Formulasi masalah lebih penting dari pilihan algoritma — tentukan dulu apakah target Anda kontinu (regresi) atau kategorikal (klasifikasi) sebelum menulis kode.
  2. Regresi linear masih relevan — interpretabel, cepat, dan seringkali cukup baik; non-linear (Ridge, XGBoost) hanya jika diperlukan dan terbukti lebih baik.
  3. Tidak ada algoritma terbaik universal — pilih berdasarkan karakteristik data, kebutuhan interpretabilitas, dan konteks bisnis (mis. regulasi OJK untuk explainability).
  4. Evaluasi model harus sesuai tujuan bisnis — accuracy bisa menyesatkan; gunakan recall untuk fraud/churn detection, precision untuk spam filter, F1 untuk keseimbangan.
  5. Deploy dan monitor — model machine learning bukan produk sekali jadi; drift data dan perubahan perilaku pelanggan memerlukan retrain berkala.

Tugas & Diskusi Kelompok

Tugas Individu (deadline: P7)
  1. Pilih satu permasalahan bisnis digital dari perusahaan Indonesia (e-commerce, fintech, atau telco)
  2. Tentukan apakah masalah tersebut adalah regresi atau klasifikasi — jelaskan alasannya
  3. Identifikasi minimal 5 fitur prediktor yang relevan beserta justifikasi bisnis
  4. Pilih satu algoritma yang paling cocok dan jelaskan mengapa
  5. Tuliskan metrik evaluasi yang akan Anda gunakan dan targetnya
Diskusi Kelompok (30 menit)

Skenario: Tim Anda dipekerjakan oleh Telkom Indonesia untuk memprediksi pelanggan IndiHome yang akan downgrade paket dalam 60 hari ke depan.

  • Apakah ini masalah regresi atau klasifikasi?
  • Fitur prediktor apa saja yang tersedia dari sistem Telkom?
  • Algoritma mana yang Anda rekomendasikan dan mengapa?
  • Metrik evaluasi apa yang paling relevan?
  • Bagaimana model ini digunakan tim marketing?

Q&A & Preview Pertemuan 7

Pertanyaan yang sering muncul:
  • Bagaimana memilih threshold optimal selain 0.5?
  • Apa perbedaan praktis Lasso vs. Ridge dalam konteks bisnis?
  • Kapan harus menggunakan teknik oversampling seperti SMOTE?
  • Bagaimana cara menjelaskan model ke manajemen yang bukan data scientist?
Preview P7: Teknik Prediktif Lanjut & Clustering
  • Support Vector Machine (SVM) untuk data berdimensi tinggi
  • Neural Network dasar: perceptron & multi-layer
  • Unsupervised learning: K-Means clustering untuk segmentasi pelanggan
  • Hierarchical clustering & DBSCAN
  • Studi kasus: segmentasi pengguna GoPay untuk personalisasi promosi

Persiapan: Install scikit-learn 1.4+, matplotlib, dan seaborn di environment Python Anda.

📖 Baca juga: Dcf Valuation — penjelasan mendalam dan contoh numerik.