stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-13
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 13: K-Nearest Neighbor (KNN)
Program Studi Bisnis Digital • FEB UNDIP

Machine Learning in Finance

Pertemuan 13 — K-Nearest Neighbor (KNN)

Klasifikasi berbasis kemiripan: bagaimana "tetangga terdekat" bisa memprediksi gagal-bayar kredit, tanpa perlu asumsi distribusi data.

RPS MINGGU 14 • 2×50 MENIT

Tujuan Pembelajaran Hari Ini

Setelah pertemuan ini, Anda diharapkan mampu:

Konsep
01
Memahami logika KNN
Menjelaskan prinsip "kemiripan menentukan label" dan mengapa KNN disebut algoritma lazy learning (malas belajar) — tidak membangun model eksplisit di tahap training.
Teknis
02
Menghitung jarak & memilih K
Menghitung jarak Euclidean antar-titik data secara manual, dan memahami trade-off memilih nilai K yang terlalu kecil vs terlalu besar.
Aplikasi
03
Studi kasus finance
Menerapkan KNN pada kasus klasifikasi risiko kredit dan segmentasi nasabah menggunakan data profil keuangan sederhana.
Kritis
04
Mengenali keterbatasan
Menjelaskan mengapa KNN sensitif terhadap skala data (perlu normalisasi) dan mahal secara komputasi untuk dataset besar.
Bagian 1 dari 4
Mengapa Perlu Klasifikasi Berbasis Kemiripan?
Dari masalah bisnis nyata menuju intuisi "tetangga terdekat".

Masalah: Menilai Nasabah Baru Tanpa Riwayat

Seorang credit analyst di sebuah BPR harus memutuskan: apakah calon debitur baru ini layak kredit atau berisiko gagal bayar?

Calon debitur ini belum pernah punya riwayat kredit di bank tersebut — tidak ada skor kredit historis untuknya secara langsung. Yang tersedia hanya profil: penghasilan bulanan, usia, dan rasio utang terhadap pendapatan (DTI).

Intuisi manusia: "Cari nasabah lama yang profilnya paling mirip, lihat bagaimana nasib kreditnya." Itulah persis logika KNN — mengubah intuisi ini menjadi hitungan matematis yang konsisten dan bisa diotomatisasi untuk ribuan calon debitur sekaligus.

Apa Itu K-Nearest Neighbor?

Definisi

KNN adalah algoritma supervised learning (belajar dengan label) yang mengklasifikasi data baru berdasarkan mayoritas label dari K data tetangga terdekatnya di ruang fitur.

K = jumlah tetangga yang "diajak voting" — ditentukan analis sebelum model dijalankan (mis. K=3, K=5).

Sifat Khas
  • Lazy learning: tidak ada "pelatihan" — seluruh data latih disimpan apa adanya.
  • Non-parametrik: tidak berasumsi data mengikuti distribusi tertentu (beda dari regresi logistik).
  • Prediksi baru dihitung ulang tiap kali — membandingkan ke semua data latih.

Ilustrasi: Titik Baru di Antara Dua Kelompok

Lancar (o)Gagal Bayar (▲)? Data Baru

Data baru ("?") dikelilingi campuran kedua kelompok. KNN menghitung jarak ke setiap titik, mengambil K tetangga terdekat, lalu voting label mayoritas.

Bagian 2 dari 4
Rumus Jarak & Cara Kerja Algoritma
Euclidean distance, pemilihan K, dan langkah algoritma dari nol.

Mengukur Kemiripan: Jarak Euclidean

KNN paling umum menggunakan jarak Euclidean — garis lurus terpendek antar dua titik di ruang fitur (mirip teorema Pythagoras).

d(A,B) = √[ (x₁-x₂)² + (y₁-y₂)² ]
Untuk 2 Fitur
Selisih tiap fitur dikuadratkan, dijumlah, lalu diakarkan. Sama seperti mencari sisi miring segitiga siku-siku.
Untuk N Fitur
Rumus diperluas: jumlahkan kuadrat selisih SEMUA fitur (penghasilan, usia, DTI, dst), baru diakarkan.
Fitur dengan skala besar (mis. penghasilan Rp 5.000.000) akan mendominasi fitur berskala kecil (mis. usia 30) jika tidak dinormalisasi dulu — kita bahas ini di Bagian 4.

Hitung dari Nol #1: Jarak Euclidean

Dua nasabah BPR dengan fitur (Usia, DTI%): Nasabah A (30, 40) dan Data Baru (35, 25).

LangkahPerhitunganNilai
1. Selisih Usia35 − 305
2. Selisih DTI25 − 40−15
3. Kuadrat selisih Usia25
4. Kuadrat selisih DTI(−15)²225
5. Jumlah kuadrat25 + 225250
Jarak Euclidean d(A, Baru)
√250 ≈ 15,81

Algoritma KNN: 4 Langkah Inti

Langkah 1
Pilih K
Tentukan jumlah tetangga yang akan "diajak voting" (mis. K=3).
Langkah 2
Hitung Jarak
Hitung jarak Euclidean dari data baru ke SEMUA data latih.
Langkah 3
Urutkan & Pilih K
Urutkan jarak dari terkecil, ambil K data dengan jarak paling kecil.
Langkah 4
Voting Mayoritas
Label terbanyak di antara K tetangga = prediksi untuk data baru.

Hitung dari Nol #2: Voting dengan K=3

4 nasabah lama sudah dihitung jaraknya ke calon debitur baru. Dengan K=3, siapa 3 tetangga terdekat dan apa hasil votingnya?

LangkahPerhitunganNilai
1. Urutkan jarak (naik)Nasabah A=15,81 · B=8,60 · C=22,36 · D=12,04B < D < A < C
2. Ambil K=3 terdekatB (8,60), D (12,04), A (15,81)3 tetangga
3. Lihat label ke-3 tetanggaB=Lancar · D=Lancar · A=Gagal Bayar2 Lancar, 1 Gagal Bayar
4. Voting mayoritas2 suara Lancar > 1 suara Gagal BayarMenang: Lancar
Prediksi Calon Debitur Baru
LANCAR
2 dari 3 tetangga terdekat berlabel Lancar
Bagian 3 dari 4
Memilih Nilai K & Jebakan Praktis
Trade-off bias-variance, normalisasi data, dan efisiensi komputasi.

Memilih K: Terlalu Kecil vs Terlalu Besar

K Terlalu Kecil (mis. K=1)
Model sangat sensitif terhadap noise (data ganjil/outlier) — satu nasabah "aneh" bisa mengubah prediksi drastis. Disebut overfitting: model terlalu mengikuti data latih, sulit generalisasi ke data baru.
K Terlalu Besar (mis. K=seluruh data)
Model "mengabur" — ikut suara mayoritas kelompok besar terlepas dari kemiripan sebenarnya. Disebut underfitting: model terlalu umum, kehilangan pola lokal yang penting.
Praktik umum: coba beberapa nilai K ganjil (3, 5, 7, 9…) — ganjil menghindari hasil seri saat voting — lalu pilih K dengan akurasi validasi terbaik.

Coba Sendiri: Geser K, Lihat Batas Berubah

Geser slider nilai K dan amati bagaimana batas keputusan klasifikasi berubah dari sangat berlekuk (K kecil) menjadi mengabur (K besar).

Jebakan Skala: Kenapa Normalisasi Wajib?

Walkthrough: bandingkan jarak SEBELUM dan SESUDAH normalisasi untuk fitur (Penghasilan Rp, Usia tahun).

Tahap 1 — Sebelum Normalisasi

Nasabah A: (Rp5.000.000, 30) · Data Baru: (Rp5.200.000, 45)

Selisih penghasilan = 200.000 → kuadrat = 40.000.000.000

Selisih usia = 15 → kuadrat = 225

Usia praktis tidak berpengaruh — kalah total oleh skala penghasilan.

Tahap 2 — Sesudah Normalisasi (skala 0–1)

Penghasilan & usia diskalakan ke rentang 0–1 (min-max scaling).

Selisih penghasilan (dinormalisasi) ≈ 0,02 → kuadrat ≈ 0,0004

Selisih usia (dinormalisasi) ≈ 0,25 → kuadrat ≈ 0,0625

Kedua fitur kini berkontribusi seimbang pada jarak akhir.

Kelebihan & Kekurangan KNN

Kelebihan
  • Sederhana & mudah dipahami — tanpa asumsi distribusi data.
  • Fleksibel untuk klasifikasi maupun regresi (prediksi angka).
  • Efektif untuk data dengan pola non-linear/kompleks.
Kekurangan
  • Lambat untuk data besar — hitung jarak ke SEMUA data tiap prediksi.
  • Sensitif terhadap skala fitur (wajib normalisasi) dan fitur tak relevan.
  • Rentan terhadap data tidak seimbang (mis. 95% lancar, 5% gagal bayar).
Bagian 4 dari 4
Aplikasi & Latihan Mandiri
Dari teori ke praktik: segmentasi nasabah dan latihan kelas.

KNN di Dunia Keuangan Digital

Kredit
Skoring
Fintech P2P lending seperti platform pembiayaan UMKM menilai kelayakan pinjaman calon peminjam baru berdasarkan kemiripan dengan peminjam lama.
Fraud
Deteksi
Transaksi e-wallet/dompet digital dibandingkan pola transaksinya dengan transaksi mencurigakan historis untuk deteksi dini.
Investasi
Rekomendasi
Aplikasi reksa dana/saham merekomendasikan produk ke investor baru berdasarkan kemiripan profil risiko dengan investor lain.
Benang merah: KNN unggul saat "kemiripan historis" adalah sinyal kuat — dan data tersedia cukup banyak untuk dibandingkan.

Latihan Mandiri: Hitung Sendiri

Soal: Dua nasabah lama dengan fitur (Skor Kepatuhan, Lama Menabung/bulan): Nasabah E (70, 12) berlabel Lancar, Nasabah F (40, 3) berlabel Gagal Bayar. Calon debitur baru: (60, 9).

Instruksi: Kerjakan di kertas Anda selama 5 menit, lalu kita bahas bersama.

  1. Hitung jarak Euclidean dari data baru ke Nasabah E dan ke Nasabah F.
  2. Dengan K=1, tetangga mana yang menang? Apa prediksi labelnya?
  3. Diskusikan: apakah hasil ini masuk akal secara bisnis?

Rangkuman: Cheat Sheet KNN

AspekPoin Kunci
Jenis algoritmaSupervised, non-parametrik, lazy learning
Rumus jarakEuclidean: √[∑(selisih fitur)²]
Cara prediksiHitung jarak ke semua data → ambil K terdekat → voting mayoritas
Pemilihan KGanjil, uji beberapa nilai, hindari terlalu kecil (overfit) / besar (underfit)
Syarat wajibNormalisasi skala fitur sebelum hitung jarak
Kelemahan utamaLambat di data besar; sensitif data tak seimbang

Penutup & Persiapan Minggu Depan

Minggu Depan (P14)

Kita beralih dari supervised ke unsupervised learning: K-Means & Fuzzy C-Means untuk segmentasi nasabah tanpa label — bagaimana bank mengelompokkan nasabah menjadi beberapa segmen tanpa tahu jawaban "benar" sebelumnya.

Tugas
Latihan #18
Kumpulkan sebelum kelas berikutnya
Selesaikan perhitungan Nasabah E & F di slide latihan, sertakan jawaban diskusi soal ke-3 (masuk akal secara bisnis atau tidak, dan mengapa).