2.5.7
Clustering hierarkis
Ringkasan
- Clustering hierarkis menghasilkan dendrogram yang menunjukkan urutan penggabungan sampel sehingga kita dapat melihat struktur pada berbagai skala.
- Dalam versi aglomeratif setiap titik berawal sebagai klaster tunggal lalu digabung bertahap sesuai aturan linkage.
- Pilihan linkage (
ward,complete,average,single) dan metrik jarak menentukan bentuk dendrogram. - Visualisasikan hierarchy dengan
scipy.cluster.hierarchydan ekstrak klaster datar memakaiAgglomerativeClusteringdari scikit-learn.
Intuisi #
Metode ini dipahami lewat asumsi dasarnya, karakteristik data, dan dampak pengaturan parameter terhadap generalisasi.
Penjelasan Rinci #
1. Gambaran umum #
Langkah-langkah agglomerative clustering:
- Setiap sampel = klaster sendiri.
- Hitung jarak antar klaster berdasarkan linkage.
- Gabungkan pasangan terdekat, catat tinggi gabungannya.
- Ulangi sampai tersisa satu klaster.
Potong dendrogram pada ketinggian pilihan untuk mendapatkan (k) klaster. Ward menghasilkan klaster kompak; single rentan membuat rantai panjang.
2. Aturan linkage #
Misal (C_i) dan (C_j) punya centroid (\mu_i) dan (\mu_j).
- Ward: $$ \Delta = \frac{|C_i||C_j|}{|C_i| + |C_j|} \lVert \mu_i - \mu_j \rVert^2. $$
- Complete: jarak maksimum antar titik lintas klaster.
- Average: rata-rata seluruh jarak silang.
- Single: jarak minimum (mudah chaining).
Pilih linkage sesuai bentuk klaster yang diharapkan, dan skala fitur terlebih dahulu.
3. Contoh Python #
| |
| |
Gunakan distance_threshold bila ingin memotong dendrogram di tinggi tertentu.
4. Referensi #
- Ward, J. H. (1963). Hierarchical Grouping to Optimize an Objective Function. Journal of the American Statistical Association.
- Müllner, D. (2011). Modern Hierarchical, Agglomerative Clustering Algorithms. arXiv:1109.2378.
- scikit-learn developers. (2024). Hierarchical clustering. https://scikit-learn.org/stable/modules/clustering.html#hierarchical-clustering