‹ Daftar slidePertemuan 12: Logistic Regression, Decision Tree, dan Random Forest
Program Studi Bisnis Digital • FEB UNDIP
Machine Learning in Finance
Pertemuan 12 — Logistic Regression, Decision Tree, dan Random Forest
Dari regresi klasifikasi biner hingga ensemble pohon keputusan: tiga model supervised learning untuk memprediksi gagal bayar, klasifikasi risiko, dan keputusan kredit di dunia keuangan.
RPS MINGGU 13 • 2 × 50 MENIT
Tujuan Pembelajaran Hari Ini
Sub-CPMK: mahasiswa mampu menerapkan teknik supervised learning untuk klasifikasi data keuangan.
TUJUAN 1
PAHAMI KLASIFIKASI
Membedakan masalah klasifikasi (kategori: ya/tidak) dari regresi (angka kontinu) dalam konteks keuangan.
TUJUAN 2
TIGA MODEL INTI
Menjelaskan cara kerja logistic regression, decision tree, dan random forest serta kapan masing-masing dipakai.
TUJUAN 3
HITUNG MANUAL
Menghitung probabilitas logistic regression dan Gini impurity pohon keputusan secara manual dari data kecil.
TUJUAN 4
EVALUASI MODEL
Membaca metrik akurasi, confusion matrix, dan memahami mengapa random forest lebih stabil dari satu pohon tunggal.
Mengapa Klasifikasi Penting di Dunia Keuangan?
Banyak keputusan finansial sebenarnya adalah pertanyaan ya/tidak, bukan "berapa".
KREDIT
GAGAL BAYAR?
Bank BRI menilai ribuan pengajuan KUR harian — layak atau tidak layak disetujui.
FRAUD
TRANSAKSI MENCURIGAKAN?
GoPay/OVO mendeteksi transaksi tidak wajar dalam hitungan detik dari jutaan transaksi.
SAHAM
NAIK ATAU TURUN?
Trader algoritmik memprediksi arah harga BBCA besok: naik atau turun, bukan angka pastinya.
Ketiga model hari ini — logistic regression, decision tree, random forest — adalah "mesin" paling umum di balik keputusan otomatis semacam ini di industri fintech dan perbankan Indonesia.
Klasifikasi vs Regresi: Mengingat Kembali
Anda sudah bertemu regresi (OLS) di awal semester. Klasifikasi mirip tapi outputnya berbeda.
Aspek
Regresi (mis. OLS)
Klasifikasi (hari ini)
Output
Angka kontinu (mis. harga saham Rp 8.750)
Kategori/kelas (mis. "gagal bayar" / "lancar")
Contoh kasus
Memprediksi return portofolio bulan depan
Memprediksi status kredit nasabah
Ukuran kesalahan
RMSE, MAE (jarak angka)
Akurasi, confusion matrix
Model hari ini
—
Logistic regression, decision tree, random forest
Bagian 1 dari 4
Logistic Regression
Model klasifikasi biner paling fundamental — mengubah probabilitas menjadi keputusan ya/tidak menggunakan kurva berbentuk S.
Apa itu Logistic Regression?
Model yang memprediksi probabilitas suatu kejadian (0 sampai 1), lalu diklasifikasi jadi kelas biner.
Masalah dengan Regresi Linear Biasa
Jika kita pakai OLS untuk memprediksi "gagal bayar" (0/1), hasil prediksinya bisa di bawah 0 atau di atas 1 — tidak masuk akal sebagai probabilitas.
Solusi: Fungsi Sigmoid
Logistic regression membungkus hasil linear dengan fungsi sigmoid (kurva-S) sehingga output selalu berada di rentang 0–1, valid sebagai probabilitas.
P(y=1) = 1 / (1 + e−(β₀ + β₁x))
Kurva Sigmoid: Dari Skor Mentah ke Probabilitas
Berapa pun nilai skor mentah (sumbu-x), sigmoid selalu memetakannya ke rentang 0–1 (sumbu-y).
Ambang batas (threshold) default biasanya P ≥ 0,50 → diklasifikasikan kelas 1 (mis. "berpotensi gagal bayar").
Hitung dari Nol #1 — Probabilitas Logistic Regression
Kasus: bank menilai gagal bayar dari rasio utang. Model: β₀ = −3, β₁ = 4, x = rasio utang terhadap pendapatan = 0,9.
Langkah
Perhitungan
Nilai
1. Skor mentah (z)
−3 + (4 × 0,9)
z = 0,6
2. Pangkat e−z
e−0,6
≈ 0,5488
3. Penyebut (1 + e−z)
1 + 0,5488
1,5488
4. Probabilitas P(y=1)
1 ÷ 1,5488
P ≈ 0,646
Karena P (0,646) > ambang 0,50 → nasabah ini diklasifikasikan berpotensi gagal bayar.
Membaca Koefisien: Arah, Bukan Cuma Besaran
Tanda koefisien (β) menunjukkan arah pengaruh variabel terhadap probabilitas kelas 1.
β POSITIF
MENAIKKAN P
Rasio utang naik → probabilitas gagal bayar naik. Contoh: β₁ = 4 pada slide sebelumnya.
β NEGATIF
MENURUNKAN P
Lama menjadi nasabah (tahun) naik → probabilitas gagal bayar biasanya turun (nasabah loyal lebih terpercaya).
Berbeda dari OLS, besaran β logistic regression tidak langsung berarti "kenaikan probabilitas sekian persen" — itu perlu transformasi tambahan (odds ratio), di luar cakupan hari ini.
Bagian 2 dari 4
Decision Tree
Model yang meniru cara manusia mengambil keputusan: serangkaian pertanyaan ya/tidak yang bercabang seperti pohon.
Anatomi Sebuah Decision Tree
Pohon terdiri dari node (pertanyaan), cabang (jawaban), dan leaf/daun (keputusan akhir).
Bagaimana Pohon Memilih Pertanyaan Terbaik?
Pohon memilih pertanyaan (split) yang membuat kelompok hasil paling "murni" (seragam kelasnya) — diukur dengan Gini impurity.
Gini = 1 − (p₁)² − (p₂)²
GINI = 0
MURNI SEMPURNA
Semua anggota kelompok satu kelas saja (mis. semua "lancar"). Split ideal.
GINI = 0,50
PALING CAMPUR
Kelompok terbagi 50:50 antara dua kelas — split ini tidak informatif.
Hitung dari Nol #2 — Gini Impurity
Kasus: kelompok 10 nasabah setelah split "penghasilan > Rp 5 juta = ya" → 8 lancar, 2 gagal bayar.
Langkah
Perhitungan
Nilai
1. Proporsi kelas "lancar" (p₁)
8 ÷ 10
p₁ = 0,80
2. Proporsi kelas "gagal bayar" (p₂)
2 ÷ 10
p₂ = 0,20
3. Kuadrat tiap proporsi
0,80² = 0,64 & 0,20² = 0,04
0,64 dan 0,04
4. Gini = 1 − jumlah kuadrat
1 − (0,64 + 0,04)
Gini = 0,32
Gini 0,32 jauh di bawah 0,50 → split ini cukup baik memisahkan nasabah lancar dari gagal bayar.
Coba Sendiri: Uji Split Terbaik lewat Gini
Coba beberapa titik split berbeda pada data nasabah dan amati bagaimana nilai Gini impurity berubah untuk menentukan split mana yang terbaik.
Bahaya Decision Tree: Overfitting
Pohon yang dibiarkan tumbuh tanpa batas akan "menghafal" data latih, bukan mempelajari pola umum.
POHON TERLALU DALAM
HAFAL, TIDAK BELAJAR
Akurasi data latih bisa 100%, tapi meleset jauh pada data baru — seperti mahasiswa yang menghafal soal ujian tahun lalu persis, gagal saat soal diubah sedikit.
SOLUSI UMUM
BATASI KEDALAMAN
Tetapkan max depth (kedalaman maksimum) atau jumlah minimum sampel per daun agar pohon tidak terlalu spesifik ke data latih.
Overfitting adalah alasan utama mengapa satu decision tree jarang dipakai sendirian di produksi — solusinya ada di bagian berikutnya: random forest.
Bagian 3 dari 4
Random Forest
"Kebijaksanaan orang banyak" diterapkan ke machine learning — ratusan pohon keputusan yang saling melengkapi kelemahan satu sama lain.
Random Forest: Banyak Pohon, Satu Keputusan
Membangun banyak decision tree yang masing-masing sedikit berbeda, lalu menggabungkan hasilnya lewat voting.
Dua Sumber "Keacakan" (Random)
Bootstrap sampling — tiap pohon dilatih dengan sampel data yang diambil acak (dengan pengembalian) dari data asli, bukan data yang sama persis.
Random feature selection — tiap pertanyaan/split hanya boleh memilih dari subset variabel acak, bukan semua variabel sekaligus.
Hasil akhir klasifikasi = voting mayoritas dari semua pohon. Jika 70 dari 100 pohon memprediksi "gagal bayar", maka keputusan akhir = gagal bayar.
Ikuti alur berikut untuk memahami intuisi "kesalahan saling menetralkan" dalam random forest.
Tahap
Apa yang terjadi
1. Satu pohon tunggal
Overfitting ke pola khusus di data latihnya sendiri → rentan salah pada data baru.
2. 100 pohon dilatih beda-beda
Tiap pohon overfitting ke arah berbeda-beda (karena bootstrap + fitur acak) — kesalahannya tidak seragam.
3. Voting mayoritas
Kesalahan acak antar-pohon saling "membatalkan" saat divoting; pola sungguhan yang konsisten tetap menang.
4. Hasil forest
Prediksi lebih stabil & akurat pada data baru dibanding satu pohon mana pun.
Walkthrough — Membaca Feature Importance
Bonus random forest: ia bisa memberi tahu variabel mana yang paling berpengaruh terhadap prediksi.
Tahap
Apa yang terjadi
1. Tiap pohon mencatat
Setiap kali sebuah variabel dipakai untuk split, dicatat seberapa besar penurunan Gini yang dihasilkan.
2. Dirata-rata seluruh forest
Penurunan Gini dari satu variabel dirata-rata di ratusan pohon → skor "feature importance".
3. Diurutkan
Variabel dengan skor tertinggi = paling berpengaruh terhadap keputusan model (mis. rasio utang sering di puncak).
4. Manfaat bisnis
Bank bisa menjelaskan ke OJK/nasabah variabel apa yang paling menentukan keputusan kredit.
Perbandingan Tiga Model
Aspek
Logistic Regression
Decision Tree
Random Forest
Interpretasi
Mudah (koefisien & arah)
Sangat mudah (jalur pertanyaan)
Sedang (feature importance)
Akurasi tipikal
Sedang
Sedang, rawan overfit
Tinggi & stabil
Kecepatan hitung
Sangat cepat
Cepat
Lebih lambat (banyak pohon)
Cocok untuk
Baseline, laporan ke regulator
Aturan bisnis sederhana
Produksi, akurasi prioritas
Bagian 4 dari 4
Evaluasi Model & Latihan
Model yang akurat di atas kertas belum tentu berguna — kita perlu cara membaca performa model dengan benar.
Confusion Matrix: Melihat Lebih dari Sekadar Akurasi
Tabel yang memecah prediksi model menjadi empat kemungkinan — penting karena akurasi saja bisa menipu.
Prediksi: Lancar
Prediksi: Gagal Bayar
Aktual: Lancar
True Negative (benar)
False Positive (salah tolak)
Aktual: Gagal Bayar
False Negative (salah, bahaya!)
True Positive (benar)
False Negative paling berbahaya di kredit: model bilang "lancar" padahal nasabah sebenarnya akan gagal bayar → bank rugi.
Jebakan Akurasi: Kasus Data Tidak Seimbang
Deteksi fraud: dari 1.000 transaksi, hanya 10 yang benar-benar fraud (1%).
MODEL "MALAS"
99% AKURASI
Model yang selalu menebak "bukan fraud" untuk semua transaksi → benar 990 dari 1.000 kali, tapi gagal total mendeteksi fraud sungguhan.
PELAJARAN
AKURASI SAJA TIDAK CUKUP
Untuk kasus data tidak seimbang (fraud, gagal bayar langka), lihat juga recall pada kelas minoritas — bukan hanya akurasi keseluruhan.
Latihan Kelas — Diskusikan Berpasangan (10 menit)
Soal 1 — Hitung Manual
Sebuah split menghasilkan kelompok 20 nasabah: 15 lancar, 5 gagal bayar. Hitung Gini impurity kelompok ini. Bandingkan dengan hasil slide "Hitung dari Nol #2" (Gini = 0,32) — mana yang lebih murni?
Soal 2 — Konseptual
Sebuah fintech P2P lending ingin melaporkan model credit scoring-nya ke OJK dengan penjelasan yang transparan, tapi juga ingin akurasi setinggi mungkin untuk mengurangi kredit macet. Model mana yang Anda rekomendasikan, dan mengapa? Pertimbangkan trade-off interpretasi vs akurasi.
Rangkuman: Cheat Sheet Tiga Model
Model
Inti Cara Kerja
Kata Kunci
Logistic Regression
Skor linear → sigmoid → probabilitas 0–1
Sigmoid, threshold, koefisien
Decision Tree
Pertanyaan bercabang, pilih split ber-Gini rendah
Node, leaf, Gini impurity
Random Forest
Banyak tree acak → voting mayoritas
Bootstrap, feature importance, voting
Evaluasi model klasifikasi selalu pakai confusion matrix, bukan akurasi saja — terutama untuk kasus data tidak seimbang seperti fraud/gagal bayar.
Sebelum Pertemuan Berikutnya
Minggu Depan
Melanjutkan ke teknik supervised learning lain: K-Nearest Neighbors (KNN) untuk klasifikasi berbasis kedekatan data, serta praktik implementasi Python untuk ketiga model hari ini.
TUGAS PERSIAPAN
BACA & SIAPKAN
Instal Python (scikit-learn) sebelum pertemuan berikutnya; ulangi perhitungan manual sigmoid & Gini di slide 8 dan 13 sampai lancar tanpa melihat catatan.