Apa itu pengelompokan hierarkis?

Penyusun

Joshua Noble

Data Scientist

Apa itu pengelompokan hierarkis?

Pengelompokan hierarkis adalah algoritma machine learning tanpa pengawasan yang mengelompokkan data dalam struktur pohon kluster yang saling terkait. Terdapat dua jenis utama, yaitu aglomeratif dan divisif. Analisis kluster atau kelompok hierarkis digunakan untuk menemukan pola dan hubungan dalam kumpulan data. Hasilnya disajikan dalam diagram dendrogram yang menggambarkan jarak dan keterkaitan antar kelompok.

Clustering atau pengelompokan adalah teknik dalam machine learning yang tanpa pengawasan yang digunakan untuk mengelompokkan objek yang memiliki kesamaan. Pengelompokan hierarkis (hierarchical clustering analysis/HCA) mengelompokkan objek ke dalam struktur hierarki kluster tanpa mengikuti urutan linier. Berbagai disiplin ilmu, seperti biologi, analisis gambar dan ilmu sosial, menggunakan metode pengelompokan hierarkis untuk menjelajahi dan mengenali pola dalam kumpulan data. Beberapa contoh penggunaan antara lain mengategorikan populasi dalam penelitian klinis, segmentasi pelanggan, dan identifikasi node komunitas dalam model jaringan.

Ada dua jenis pengelompokan hierarkis:

- Pendekatan aglomeratif atau pendekatan bawah ke atas 1 yang berulang kali menggabungkan cluster menjadi yang lebih besar sampai muncul satu cluster.

- Pendekatan divisif atau pendekatan dari atas ke bawah yangdimulai dengan semua data dalam satu kluster dan melanjutkan untuk membagi kluster-kluster berikutnya hingga semua kluster menjadi tunggal.

Analisis pengelompokan hierarkis menimbulkan biaya komputasi yang tinggi. Meskipun penggunaan heap dapat mengurangi waktu komputasi, kebutuhan memori meningkat. Jenis pengelompokan divisif maupun aglomeratif bersifat “serakah,” yang berarti bahwa algoritma memutuskan klaster mana yang akan digabungkan atau dipecah dengan membuat pilihan optimal secara setempat pada setiap tahap proses. Selain itu, kriteria penghentian dapat diterapkan, di mana algoritma akan menghentikan aglomerasi atau memisahkan klaster setelah mencapai jumlah kluster yang telah ditentukan sebelumnya.

Diagram berbentuk pohon yang disebut dendrogram3 sering digunakan untuk memvisualisasikan hierarki kluster. Dendrogram ini menunjukkan urutan kluster yang telah digabungkan atau dibagi, serta mengilustrasikan kemiripan atau jarak antara titik data. Secara sederhana, dendrogram juga bisa dianggap sebagai daftar bersarang 4 yang memiliki atribut.

Plot sebar titik A ke F di sebelah kiri dan struktur pohon dendrogram yang dihasilkan di sebelah kanan

Cara kerja pengelompokan hierarkis

Algoritme pengklusteran hierarkis menggunakan matriks ketidaksamaan untuk menentukan kluster mana yang akan digabungkan atau dibagi. Ketidaksamaan ini merujuk pada jarak antara dua titik data yang dihitung berdasarkan metode keterkaitan yang dipilih. Nilai-nilai dalam matriks perbedaan menyatakan:

-Jarak5, jarak Euclidean sebagai contoh, antara titik tunggal dalam satu set

- Kriteria pengelompokan keterkaitan menentukan ketidaksamaan dengan mengukur jarak antar pasangan titik data dalam seluruh set

Metode keterkaitan

Mari kita bahas metode keterkaitan jarak Euclide yang paling umum. Contoh metrik jarak lain yang bisa digunakan mencakup jarak Minkowski, Hamming, Mahalanobis, Hausdorf, dan Manhattan. Perlu dicatat bahwa setiap metode keterkaitan akan menghasilkan klaster yang berbeda meskipun menggunakan kumpulan data yang sama. Pemilihan metode pengelompokan keterkaitan yang tepat bergantung pada berbagai faktor, seperti jenis data yang dikelompokkan, kepadatan data, bentuk klaster, serta apakah terdapat outlier atau ketidakakuratan dalam kumpulan data.

Keterkaitan minimum (tunggal)

Metode keterkaitan tunggal menghitung jarak antar pasangan item dalam dua kluster dan kemudian menggunakan jarak terkecil di antara keduanya untuk menggabungkan kluster. Metode ini efektif untuk menangani bentuk kluster nonelips, namun bisa sangat dipengaruhi oleh kebisingan dan outlier. Salah satu kelemahannya adalah efek rantai6. Beberapa titik yang menghubungkan dua kluster dapat menyebabkan kedua kluster tersebut bergabung meskipun secara keseluruhan tidak seharusnya. Kriteria keterkaitan min dapat direpresentasikan sebagai:

 mina∈A,b∈Bd(a,b)

di mana A dan B adalah dua set pengamatan dan d adalah fungsi jarak.

Keterkaitan maks (lengkap)

Jarak antar kluster juga dapat dihitung berdasarkan titik yang paling jauh satu sama lain. Metode max cenderung kurang sensitif terhadap noise dan outlier dibandingkan dengan metode min, namun penggunaannya bisa mempengaruhi hasil, terutama jika ada kluster berbentuk globular atau besar. Metode keterkaitan max sering menghasilkan lebih banyak kluster berbentuk bola dibandingkan metode keterkaitan min. Keterkaitan maksimal dapat direpresentasikan dalam rumus:

 maxa∈A,b∈Bd(a,b)

di mana A dan B adalah dua set pengamatan dan d adalah jarak.

Keterkaitan rata-rata

Metode ini, yang diperkenalkan oleh Sokal dan Michener, mendefinisikan jarak antar kluster sebagai rata-rata jarak antar pasangan titik di dalam kluster. Algoritma yang digunakan bisa berupa metode kelompok pasangan tak berbobot dengan rata-rata aritmatika (UPGMA) atau metode kelompok pasangan berbobot dengan rata-rata aritmatika (WPGMA). Arti dari "tidak terbobot" di sini adalah bahwa semua jarak memberikan kontribusi yang sama terhadap setiap rata-rata.

UPGMA diwakili dengan rumus

 1∣A∣·∣B∣∑a∈A∑b∈Bd(a,b)

di mana *A* dan *B* adalah dua set pengamatan dan *d* adalah jarak.

WPGMA diwakili dengan rumus

 d(i∪j,k)=d(i,k)+d(j,k)2

di mana i dan j adalah cluster terdekat yang digabungkan di setiap langkah untuk membentuk cluster baru dari gabungan i dan j. Kita kemudian dapat menghitung jarak ke kluster k lainnya, yang merupakan rata-rata aritmatika dari jarak rata-rata antara titik data di k dan i dan k dan j.

Keterkaitan centroid

Pada metode ini, jarak dihitung berdasarkan pusat kluster atau centroid. Jarak antar centroid dihitung dengan menggunakan fungsi jarak:

A-μB∥2

di mana μA adalah titik pusat A dan μB adalah titik pusat B.

Metode varians minimum Ward

Joe H. Ward memperkenalkanmetode minimal increase of sum of squares (MISSQ)8 pada tahun 1960-an. Setiap titik data dimulai di klusternya sendiri. Pendekatan ini berarti jumlah kuadrat antara titik data pada awalnya adalah nol, kemudian meningkat saat kita menggabungkan cluster. Metode Ward meminimalkan jumlah jarak kuadrat titik-titik dari pusat cluster saat mereka digabungkan. Metode Ward adalah pilihan yang baik untuk variabel kuantitatif9, dan metode ini tidak terlalu terpengaruh oleh noise atau outlier. Hal ini dapat direpresentasikan sebagai:

 ∣A∣·∣B∣A∪B∥μA-μB∥2=∑x∈A∪B∥x-μA∪B∥2-∑x∈A∥x-μA∥2-∑x∈B∥x-μB∥2

di mana rata-rata A dan rata-rata B masing-masing adalah centroid A dan B, dan x adalah titik data yang termasuk dalam gabungan A dan B

Algoritma Lance-Williams

Metode varians minimum Ward dapat ditingkatkan dengan menggunakan algoritma Lance-Williams. Algoritma ini memanfaatkan rumus rekursif untuk memperbarui jarak antar kluster dan menentukan pasangan kluster terdekat yang paling optimal untuk digabungkan.

Langkah-langkah pengelompokan aglomerasi

Dalam pengelompokan hierarkis aglomeratif, atau yang dikenal juga sebagai AGNES (Agglomerative Nesting), setiap titik data dimulai sebagai kluster terpisah. Algoritma ini menggunakan kriteria pengelompokan keterkaitan yang dipilih berdasarkan matriks ketidaksamaan untuk menentukan pasangan kluster mana yang akan digabungkan. Algoritma yang bergerak naik ke hierarki dan terus menggabungkan kluster hingga semuanya tergabung dalam satu, membentuk serangkaian kluster bertingkat secara hierarkis. Secara garis besar langkah pengelompokan aglomeratif10 adalah:

1. Hitung matriks perbedaan dengan menggunakan metrik jarak tertentu.

2. Tetapkan setiap titik data ke cluster.

3. Gabungkan cluster berdasarkan kriteria keterkaitan untuk kesamaan antar cluster.

4. Perbarui matriks jarak.

5. Ulangi langkah 3 dan 4 hingga hanya tersisa satu klaster atau kriteria penghentian terpenuhi.

Langkah-langkah pengelompokan divisif

Prinsip pengelompokan hierarkis divisif pertama kali dikembangkan oleh Macnaughton-Smith dan rekan-rekannya11 pada tahun 1964, kemudian dijelajahi lebih lanjut oleh Kaufman dan Rousseeuw melalui algoritma DIANA (Divisive ANAlysis Clustering)12 pada tahun 1990. Pengelompokan divisif menggunakan pendekatan yang berlawanan dengan pengelompokan aglomeratif. Semua titik data dimulai dalam satu kluster besar yang kemudian dibagi berulang kali menjadi beberapa kluster. Proses pemisahan ini berlangsung hingga semua kluster yang tersisa hanya berisi satu titik data atau hingga kriteria penghentian, seperti jumlah kluster yang telah ditentukan, tercapai. Metode pembagian lebih efektif dalam mengidentifikasi kumpulan data besar13 dan sering kali lebih akurat dibandingkan metode aglomeratif karena algoritmanya mempertimbangkan distribusi seluruh data sejak awal proses.

Untuk meningkatkan efisiensi, metode divisif menggunakan algoritma pengelompokan datar seperti k-means untuk membagi kumpulan data menjadi beberapa kluster. Jumlah kluster harus ditentukan terlebih dahulu. Algoritma k-means membagi kluster dengan cara meminimalkan jumlah kuadrat jarak antara titik data dan centroid. Proses ini dikenal sebagai kriteria inersia14. Langkah-langkah pengelompokan divisif15 adalah:

1. Mulailah dengan semua titik data untuk ukuran kumpulan data N (d1, d2, d3 ... dN) dalam satu kluster.

2. Membagi kluster menjadi dua kluster yang berbeda atau lebih heterogen dengan menggunakan metode pengelompokan datar, seperti algoritma k-means.

3. Ulangi langkah 2 dengan memilih kluster terbaik untuk dibagi, dan hapus outlier dari kluster yang paling tidak kohesif setelah setiap iterasi.

4. Berhenti ketika setiap contoh berada di cluster tunggalnya sendiri, jika tidak ulangi langkah 3.

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Menafsirkan hasil pengelompokan hierarkis

Hasil kluster biasanya disajikan dalam bentuk dendrogram (struktur pohon biner). Sumbu x pada dendrogram mewakili titik-titik data, sementara sumbu y, atau tinggi garis, menunjukkan jarak antar kluster saat mereka digabungkan.

Anda dapat menggunakan dendrogram untuk menentukan jumlah kluster16 dalam model pengelompokan akhir. Salah satu strategi adalah dengan mengidentifikasi titik batas alami di pohon, yaitu di tempat cabang-cabang mulai menyusut dan jaraknya semakin jauh. Sebagai alternatif, jumlah kluster dapat ditentukan dengan menghitung jumlah garis vertikal yang dipotong oleh garis horizontal saat memotong dendrogram.

Dalam contoh gambar ini, garis horizontal H1memotong dua garis vertikal. Hal ini menunjukkan bahwa ada dua kluster pada titik tersebut—satu kluster berisi titik 5, 8, dan 2, sementara kluster lainnya berisi titik-titik yang tersisa. Semakin jauh garis horizontal dapat bergerak ke atas atau ke bawah tanpa memotong garis horizontal lainnya dalam dendrogram, semakin baik pilihan jumlah kluster tersebut untuk model pengelompokan Anda. Pada contoh berikutnya, garis horizontal H2 memilih empat kluster. H2 tidak bisa bergerak sejauh H1 tanpa memotong garis horizontal lain. Hal ini menunjukkan bahwa memilih dua kluster (H1) mungkin lebih tepat untuk model pengelompokan Anda.

Diagram dendogram, memplot titik-titik data (sumbu x) dan tinggi garis menunjukkan seberapa jauh jarak antar kluster saat digabungkan (sumbu y) Memotong dendrogram dengan garis horizontal untuk menentukan jumlah cluster

Model pengelompokan yang baik17 akan menghasilkan kluster dengan kesamaan yang tinggi di dalam kluster dan kesamaan yang rendah antar kluster. Namun, menentukan kualitas kluster bisa sulit, dan pemilihan kriteria keterkaitan serta jumlah kluster dapat memengaruhi hasil secara signifikan. Oleh karena itu, saat membangun model pengklusteran, cobalah berbagai opsi dan pilih yang paling membantu Anda mengeksplorasi serta mengungkap pola dalam kumpulan data untuk analisis selanjutnya. Faktor-faktor yang perlu dipertimbangkan18 meliputi:

- Jumlah cluster yang praktis atau logis untuk kumpulan data (ukuran kumpulan data, bentuk kluster, noise, dan sebagainya)

- Statistik, seperti nilai rata-rata, maksimum dan minimum untuk setiap cluster

- Metrik perbedaan atau kriteria keterkaitan terbaik untuk diterapkan

- Dampak dari setiap outlier atau variabel hasil

- Pengetahuan domain atau kumpulan data tertentu

Metode lain untuk membantu menentukan jumlah cluster yangoptimal19 meliputi:

- Metode siku, di mana Anda memplot jumlah kuadrat dalam kluster terhadap jumlah kluster dan menentukan "elbow" (titik di mana plot mendatar)

- Statistik kesenjangan membandingkan jumlah kuadrat dalam klaster yang terbentuk dengan jumlah kuadrat yang diharapkan dalam distribusi referensi nol, lalu mengidentifikasi perbedaan terbesar sebagai indikator jumlah klaster yang optimal.

Mixture of Experts | 12 Desember, episode 85

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Contoh penggunaan untuk pengelompokan hierarkis

Pengelompokan hierarkis membantu ilmuwan data mendapatkan insight mengenai struktur dan hubungan dalam kumpulan data serta dapat diterapkan dalam berbagai contoh penggunaan.

Bisnis

Pengelompokan hierarkis dapat digunakan untuk menganalisis tren dan mengelompokkan data pelanggan—misalnya berdasarkan preferensi produk, demografi, perilaku pembelian, profil risiko, atau interaksi di media sosial.

Penelitian klinis dan bioinformatika

Dalam penelitian klinis, jumlah pasien dapat mencapai ribuan. Pengelompokan hierarkis membantu mengelompokkan populasi yang beragam menjadi kelompok yang lebih homogen20, misalnya berdasarkan kriteria diagnostik, respons fisiologis, atau mutasi DNA. Metode ini juga dapat digunakan untuk mengelompokkan spesies berdasarkan karakteristik biologis guna memahami pola evolusi.

Pemrosesan gambar dan informasi

Pengelompokan hierarkis digunakan dalam aplikasi pengenalan teks berbasis gambar untuk mengelompokkan karakter tulisan tangan berdasarkan bentuknya. Metode ini juga digunakan untuk menyimpan dan mengambil informasi dengan menggunakan kriteria tertentu atau untuk mengategorikan hasil.

Menerapkan pengelompokan hierarkis di Python atau R

Baik Python dan bahasa pemrograman R banyak digunakan dalam ilmu data. Python fleksibel dan dapat menangani spektrum tugas yang luas. Sebagai alternatif, R dirancang khusus untuk komputasi statistik dan menyediakan banyak pilihan untuk memvisualisasikan analisis pengelompokan hierarkis Anda.

Python menyediakan fungsi AgglomerativeCluster21 (lihat juga contoh pengelompokan aglomeratif22 pada sklearn), dan SciPy menyediakan fungsi untuk membuat plot dendrogram23. Paket seperti dendextend24 meningkatkan fungsionalitas dendrogram R, meningkatkan analisis sensitivitas dan memungkinkan Anda untuk membandingkan dan memanipulasi dendrogram yang berbeda. Untuk pengalaman langsung, lihat tutorial langkah demi langkah kami: cara menerapkan pengelompokan hierarkis di Python dan cara mengimplementasikan pengelompokan hierarkis di R.

Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses satu atap ke kemampuan yang mencakup siklus hidup pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung
Catatan kaki

1 Murtagh, F., Legendre, P., “Ward’s Hierarchical Agglomerative Clustering Method: Which Algorithms Implement Ward’s Criterion?,” 2014, J Classif 31, 274–295, https://link.springer.com/article/10.1007/s00357-014-9161-z

 2 Kaufman, L.; Rousseeuw, P. J., Finding Groups in Data: An Introduction to Cluster Analysis. Wiley. Chp 6. Divisive Analysis (Program DIANA) hal. 253–279, https://onlinelibrary.wiley.com/doi/book/10.1002/9780470316801

3 Galili, T., “Introduction to dendextend,” The Comprehensive R Archive Network, 2023, https://cran.r-project.org/web/packages/dendextend/index.html

4 Catatan Kuliah dari Penn State Eberly College of Science, “Pengelompokan Hierarkis”, https://online.stat.psu.edu/stat555/node/85/

5, 17 Maimon, O., Rokach, L., Data Mining and Knowledge Discovery Handbook, 2010 2nd ed, Springer, https://link.springer.com/book/10.1007/978-0-387-09823-4

6 Sokal, R, Michener, C., “A statistical method for evaluating systematic relationships,” 1958, University of Kansas Science Bulletin, 38: 1409–1438, https://archive.org/details/cbarchive_33927_astatisticalmethodforevaluatin1902/page/n1/mode/2up

Ward, J. H., “Hierarchical Grouping to Optimize an Objective Function,” 1963, Journal of the American Statistical Association, 58 (301): 236–244, https://www.tandfonline.com/doi/abs/10.1080/01621459.1963.10500845.

8 Catatan Kuliah dari Penn State Eberly College of Science, “Analisis Statistik Multivariat Terapan”, https://online.stat.psu.edu/stat505/lesson/14/14.7

9, 15 Shetty P. dan Singh S., “Hierarchical Clustering: A Survey,” International Journal of Applied Research, Vol 7 Issue 4, Part C, 2021, https://www.allresearchjournal.com/archives/?year=2021&vol=7&issue=4&part=C&ArticleId=8484

10 Macnaugton-Smith, P., Williams, W., Dale, M., et al., “Dissimilarity Analysis: a new Technique of Hierarchical Sub-division,” Nature 202, 1034–1035 (1964), https://www.nature.com/articles/2021034a0

12 Boehmke, B., Greenwell, B., Hands-On Machine Learning with R, Taylor dan Francis, 2020, https://bradleyboehmke.github.io/HOML/

13 Cavalli-Sforza, L. L., dan Edwards A. W. F., “Phylogenetic analysis: models and estimation procedures,” 1967, Evolution 21: 550–570 dan Am. J. Hum. Genet. 19: 233–257, https://pmc.ncbi.nlm.nih.gov/articles/PMC1706274/

14 Sci-kit learn 1.3.2, 2.3 Clustering, https://scikit-learn.org/stable/modules/clustering.html

16 Catatan kuliah dari MIT OpenCourseWare, 2017, https://ocw.mit.edu/courses/15-071-the-analytics-edge-spring-2017/pages/clustering/recommendations-worth-a-million-an-introduction-to-clustering/video-5-hierarchical-clustering/

18 Catatan kuliah dari University of Washington, 2001, https://courses.cs.washington.edu/courses/csep546/04au/pdf-slides/10.pdf

19 Boehmke, B., University of Cincinnati Business Analytics R Programming Guide, https://uc-r.github.io/hc_clustering#algorithms

20 Rangkaian Lokakarya QCBS R, https://r.qcbs.ca/workshop09/book-en/clustering.html

21 Zhongheng Zhang et al., “Hierarchical cluster analysis in clinical research with heterogeneous study population: highlighting its visualization with R,” Annals of Translational Medicine. Februari 2017; 5(4): 75, https://atm.amegroups.org/article/view/13789/14063

22, 23 Scit-kit learn 1.3.2 documentation, https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html

24 SciPy Manual v1.11.4, https://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.dendrogram.html