Back to Latihan UAS IF3170
Problem Set: Unsupervised Learning & Evaluation (Paket C)
Mata Kuliah: Inteligensi Artifisial
Topik: Clustering (K-Means, DBSCAN) & Advanced Model Evaluation
Sifat: Latihan Mandiri
Soal 1: Segmentasi Karyawan (Mixed Data & Dynamic Constraint)
Diberikan dataset 6 karyawan dengan fitur campuran: Divisi (Kat), Tingkat Pendidikan (Kat), Masa Kerja (Num), dan Gaji (Num).
| ID | Divisi (C1) | Pendidikan (C2) | Masa Kerja (N1) | Gaji (N2) |
| K1 | IT | S1 | 2 | 5 |
| K2 | HR | D3 | 8 | 6 |
| K3 | IT | S1 | 3 | 5 |
| K4 | HR | S1 | 10 | 8 |
| K5 | IT | D3 | 4 | 4 |
| K6 | HR | S1 | 12 | 9 |
Metode Jarak (Mixed Distance):
-
Bobot: , .
-
Jarak Kategorikal: Hamming (Beda=1, Sama=0).
-
Jarak Numerikal: Euclidean biasa.
Skenario Simulasi (Langkah demi Langkah):
| Langkah | Instruksi / Pertanyaan | Jawaban & Perhitungan |
| 1 | Inisialisasi Centroid (): Pilih K1 sebagai Centroid 1 () dan K6 sebagai Centroid 2 (). Tuliskan koordinat awalnya. | : {IT, S1, 2, 5} : {HR, S1, 12, 9} |
| 2 | Assignment Awal (Iterasi 1): Hitung jarak semua data ke dan . Tentukan cluster (C1/C2). Contoh Hitung K2 ke : Kat: (HRIT) + (D3S1) = . Bobot . Num: . Total . | K2 ke : 7.55, K2 ke : … Masuk … K3 ke : …, K3 ke : … Masuk … K4 ke : …, K4 ke : … Masuk … K5 ke : …, K5 ke : … Masuk … |
| 3 | Update Centroid (Iterasi 1): Hitung Centroid Baru () dari anggota cluster hasil Langkah 2. Aturan: - Fitur Kategorikal: Gunakan Modus (Nilai terbanyak). - Fitur Numerikal: Gunakan Mean (Rata-rata). | : Divisi=…, Pend=…, MK=…, Gaji=… : Divisi=…, Pend=…, MK=…, Gaji=… |
| 4 | Re-Assignment (Iterasi 2 - Distance Constraint): Perusahaan menetapkan aturan ketat: “Data hanya boleh masuk cluster jika jaraknya ke centroid < 5.0”. Cek kembali data K5. Hitung jaraknya ke dan . Apakah K5 masuk ke Cluster 1, Cluster 2, atau menjadi Outlier (tidak masuk keduanya)? | Jarak K5 ke : … Jarak K5 ke : … Keputusan: … |
| 5 | Evaluasi (SSE Final): Hitung SSE hanya untuk Cluster 1 (berdasarkan anggota final di langkah 4, tanpa K5 jika dia outlier). | Anggota C1: { … } SSE = = … |
Soal 2: Kepadatan dan Validasi Silang
Gunakan dataset numerikal sederhana berikut (Fitur ):
-
Cluster A (Pusat): A1(2,2), A2(2,3), A3(3,2), A4(3,3)
-
Cluster B (Jauh): B1(10,10), B2(10,11), B3(11,10)
-
Noise: N1(6,6)
Parameter DBSCAN: , .
Tugas A: Simulasi DBSCAN
-
Buatlah Matriks Jarak Euclidean (fokus pada titik yang relevan/berdekatan saja).
-
Tentukan status setiap titik (Core, Border, Noise).
-
Tuliskan hasil Cluster yang terbentuk.
Tugas B: Validasi Eksternal (Purity)
Asumsikan label asli (ground truth) adalah:
-
Kelas 1: {A1, A2, A3, A4, N1} (Termasuk N1 yang sebenarnya noise secara visual).
-
Kelas 2: {B1, B2, B3}
Berdasarkan hasil cluster DBSCAN Anda (Noise dianggap sebagai cluster tersendiri atau “tidak terklasifikasi” - pilih salah satu strategi dan jelaskan):
- Hitung nilai Purity.
Tugas C: Validasi Internal (Analisis Metrik)
Hitunglah metrik berikut untuk mengevaluasi kualitas cluster:
-
Cohesion (WSS): Hitung WSS (Sum of Squared Error) untuk Cluster B (B1, B2, B3) terhadap centroid-nya sendiri.
-
Separation (BSS): Hitung jarak kuadrat antara Centroid Cluster A dan Centroid Cluster B.
-
Silhouette Coefficient (untuk titik A1):
-
: Rata-rata jarak ke {A2, A3, A4}.
-
: Rata-rata jarak ke Cluster B {B1, B2, B3}.
-
Hitung .
-
Soal 3: Identifikasi Visual
Perhatikan gambar distribusi titik di bawah ini. Lingkaran menunjukkan radius . Syarat .
(Ilustrasi Abstrak: Titik X berada di jembatan tipis antara dua kepadatan besar. Titik Y berada di tengah kepadatan. Titik Z berada di pinggir kepadatan)
Instruksi:
Lingkari atau sebutkan status titik berikut:
-
Titik X: … (Apakah dia Core/Border/Noise? Apakah dia menghubungkan dua cluster?)
-
Titik Y: … (Alasan: …)
-
Titik Z: … (Alasan: …)
Soal 4: Analisis Tabel
Lengkapi tabel perbandingan metode validasi berikut:
| Skenario | Metode Validasi | Alasan Utama | Risiko/Kelemahan |
| Imbalanced Data (Fraud 1% vs Normal 99%) | Stratified K-Fold | Menjaga proporsi kelas yang sama di setiap fold latih & uji. | … |
| Time Series Data (Data Saham) | Time Series Split (Forward Chaining) | Data masa depan tidak boleh bocor ke masa lalu (data leakage). | Data latihan awal sangat sedikit (pada fold pertama). |
| Hyperparameter Tuning | Nested Cross-Validation | Memisahkan loop optimasi parameter dan loop evaluasi performa agar tidak bias. | … |
Soal 5: Konsep Evaluasi
| No | Pernyataan | B/S | Alasan Singkat |
| 1 | Silhouette Coefficient negatif menandakan bahwa sebuah titik data mungkin salah ditempatkan (lebih dekat ke cluster tetangga daripada cluster sendiri). | … | … |
| 2 | Dalam K-Means, jika kita terus menambah jumlah cluster hingga , nilai SSE (Sum of Squared Errors) akan mencapai maksimum. | … | … |
| 3 | Bootstrapping lebih disarankan daripada K-Fold Cross Validation jika dataset kita sangat besar (jutaan baris). | … | … |
# KUNCI JAWABAN
Jawaban Soal 1 (K-Means Advanced)
Langkah 2 (Assignment Iterasi 1):
K1 (IT, S1, 2, 5) adalah Centroid 1 ().
K6 (HR, S1, 12, 9) adalah Centroid 2 ().
Hitung K2 (HR, D3, 8, 6):
Ke : Kat(2 beda)=20. Num . Total .
Ke : Kat(1 beda)=10. Num . Total .
Masuk Cluster 2.
Hitung K3 (IT, S1, 3, 5):
Ke : Kat(0 beda)=0. Num . Total .
Ke : Kat(1 beda)=10. Num . Total .
Masuk Cluster 1.
Hitung K4 (HR, S1, 10, 8):
Ke : Kat(1 beda)=10. Num . Total .
Ke : Kat(0 beda)=0. Num . Total .
Masuk Cluster 2.
Hitung K5 (IT, D3, 4, 4):
Ke : Kat(1 beda)=10. Num . Total .
Ke : Kat(2 beda)=20. Num . Total .
Masuk Cluster 1.
Hasil Awal:
Cluster 1: {K1, K3, K5}
Cluster 2: {K2, K4, K6}
Langkah 3 (Update Centroid):
(K1, K3, K5):
Divisi: Modus{IT, IT, IT} = IT.
Pend: Modus{S1, S1, D3} = S1.
Masa Kerja: Mean(2, 3, 4) = 3.
Gaji: Mean(5, 5, 4) = 4.67.
(K2, K4, K6):
Divisi: Modus{HR, HR, HR} = HR.
Pend: Modus{D3, S1, S1} = S1.
Masa Kerja: Mean(8, 10, 12) = 10.
Gaji: Mean(6, 8, 9) = 7.67.
Langkah 4 (Re-Assignment K5 dengan Constraint < 5.0):
K5 (IT, D3, 4, 4) ke (IT, S1, 3, 4.67):
Kat: (IT=IT, D3S1) 1 beda Bobot 10.
Num: .
Total .
K5 ke (HR, S1, 10, 7.67):
Kat: 2 beda 20.
Num: .
Total .
Keputusan: Jarak ke adalah 3.38 (< 5.0). Maka K5 tetap masuk Cluster 1.
Langkah 5 (SSE Cluster 1):
Anggota: K1, K3, K5. Centroid .
: Kat(0)+Num() = .
: Kat(0)+Num() = .
: Kat(10)+Num(1.45) = 11.45 (dari langkah 4).
SSE Total = .
Jawaban Soal 2 (DBSCAN & Validasi)
A. Clusterisasi DBSCAN:
Cluster A: A1, A2, A3, A4 saling berjarak 1 atau (semua < 1.5). Semua jadi Core. Cluster A = {A1, A2, A3, A4}.
Cluster B: B1, B2, B3 saling berjarak 1 atau . Semua jadi Core. Cluster B = {B1, B2, B3}.
Noise: N1(6,6) berjarak jauh dari manapun. Status Noise.
B. Purity:
Cluster A (4 data): Mayoritas Kelas 1 (4 data).
Cluster B (3 data): Mayoritas Kelas 2 (3 data).
Noise N1 (1 data): Dianggap cluster sendiri/sampah. Mayoritas Kelas 1 (1 data).
Total Benar = 4 (di A) + 3 (di B) + 1 (di N, jika noise dianggap singleton) = 8.
Purity = . (Atau jika Noise diabaikan, ).
C. Validasi Internal:
Cohesion (WSS) Cluster B:
Centroid B = .
dst. .
Separation (BSS):
Centroid A = . Centroid B = .
Jarak^2 .
Silhouette A1:
: Jarak ke A2(1), A3(1), A4(1.41). Rata-rata = 1.13.
: Jarak ke B1, B2, B3 (Jauh, ).
.
Jawaban Soal 4 (Tabel Validasi)
Stratified: Mencegah satu fold hanya berisi kelas negatif saja (representative).
Nested CV: Komputasi sangat mahal (Training berkali-kali lipat).
Jawaban Soal 5 (Benar/Salah)
Benar. Nilai negatif berarti , artinya lebih dekat ke tetangga.
Salah. SSE akan mencapai Minimum (0) saat .
Salah. Untuk data jutaan, Hold-out cukup dan lebih efisien. Bootstrapping untuk data kecil.