Topik Nama ___________________________
K-Means Clustering in Python (s.d. Mode for
NIM ___________________________
Classification)
[Link]/k-means-clustering-python Tanggal ___________________________
Pertanyaan Catatan
1. Apa itu clustering dan apa Clustering = teknik membagi data menjadi kelompok (cluster) di mana
kegunaannya? objek dalam satu cluster lebih mirip satu sama lain dibanding objek di
cluster lain. Dua kegunaan: 1) Meaningful -- memperluas pengetahuan
domain (contoh: segmentasi pasien). 2) Useful -- sebagai langkah
intermediate dalam pipeline data (contoh: segmentasi pelanggan untuk
targeted marketing).
2. Apa saja 3 jenis metode 1) Partitional (contoh: k-means): bagi data ke k cluster non-overlapping,
clustering dan perbedaannya? butuh k ditentukan user, nondeterministic, baik untuk cluster berbentuk
bulat. 2) Hierarchical (contoh: agglomerative): bangun hierarki cluster via
dendrogram, deterministic, mahal secara komputasi. 3) Density-based
(contoh: DBSCAN): cluster berdasarkan kepadatan titik, tidak butuh k,
tahan terhadap outlier, baik untuk cluster non-spherical.
3. Bagaimana algoritma k- 1) Pilih k centroid secara acak. 2) Assign setiap titik data ke centroid
means bekerja step by step? terdekat (membentuk k cluster). 3) Hitung ulang centroid = rata-rata semua
titik di tiap cluster. 4) Ulangi langkah 2-3 sampai centroid tidak berubah
(konvergen). Algoritma bersifat nondeterministic -- hasil bisa berbeda tiap
run karena inisialisasi centroid acak. Gunakan random_state untuk hasil
yang reproducible.
4. Bagaimana implementasi k- from [Link] import KMeans. Buat model: kmeans =
means pertama dengan scikit- KMeans(n_clusters=3, random_state=42). Fit: [Link](data). Hasil:
learn? kmeans.labels_ = label cluster tiap data point. kmeans.cluster_centers_ =
koordinat centroid. kmeans.inertia_ = total SSE (sum of squared errors) --
semakin kecil semakin baik. Prediksi data baru:
[Link](data_baru).
5. Bagaimana cara memilih Elbow method: plot inertia vs k, cari titik 'siku' di mana penurunan inertia
jumlah cluster k yang tepat? mulai melambat. Silhouette coefficient: mengukur seberapa mirip objek
dengan clusternya dibanding cluster lain. Nilai -1 sampai 1, semakin tinggi
semakin baik. from [Link] import silhouette_score. Jalankan k
dari 2 sampai n, pilih k dengan silhouette score tertinggi.
6. Apa itu Mode for Setelah clustering, label cluster bersifat arbitrer (angka 0,1,2 tidak punya
Classification dalam konteks makna inheren). Untuk klasifikasi, gunakan mode = nilai yang paling sering
k-means? muncul dalam tiap cluster. Dari true label yang ada di tiap cluster, ambil
label mayoritas sebagai 'class' cluster tersebut. Ini memungkinkan evaluasi
akurasi k-means sebagai classifier dengan membandingkan prediksi vs
label asli.
Rangkuman
K-means adalah metode partitional clustering unsupervised yang membagi data ke k cluster berdasarkan
kemiripan. Algoritma: pilih k centroid acak -> assign tiap titik ke centroid terdekat -> hitung ulang centroid ->
ulangi hingga konvergen. Implementasi scikit-learn: KMeans(n_clusters=k).fit(data), akses hasil
via .labels_, .cluster_centers_, .inertia_. Pilih k optimal dengan Elbow method (plot inertia) atau Silhouette
coefficient. Untuk klasifikasi, gunakan mode tiap cluster sebagai label prediksi.