Departemen Teknik Informatika
Hierarchical Clustering
Disusun oleh : Nanik Suciati
Capaian Pembelajaran
Mahasiswa mampu menjelaskan algoritma clustering berbasis
hirarki agglomerative.
HIERARCHYCAL CLUSTERING
• Pengelompokan data yang menghasilkan serangkaian cluster bersarang dan
tersusun seperti pohon hirarki
• Dapat divisualisasikan
menggunakan dendogram
• Diagram berbentuk seperti pohon (tree) sehingga
dapat menyimpan urutan penggabungan atau
pemisahan cluster
1 2 3 4 5
Dendrogram Cluster bersarang
1 2
3
4 5
HIERARCHYCAL CLUSTERING
• Dua tipe hierarchical clustering
• Agglomerative:
• Mulai dari setiap titik (data) dianggap sebagai cluster
• Pada setiap tahap, dilakukan penggabungan sepasang cluster terdekat sampai tersisa satu cluster (atau sampai tersisa k cluster)
• Divisive:
• Mulai dari satu cluster, semua titik (data) menjadi anggota cluster tersebut
• Pada setiap tahap, dilakukan pemisahan (split) satu cluster menjadi dua, sampai setiap cluster hanya berisi satu data (atau sampai tersisa k cluster)
• Penggabungan atau pemisahan cluster dilakukan berdasarkan kemiripan (similarity) atau jarak (distance)
• Matriks kemiripan (proximity matrix) menyimpan nilai kemiripan antar cluster (kemiripan=0, objek sangat berbeda)
• Matriks jarak (distance matrix) menyimpan nilai jarak antar cluster (jarak=0, objek sangat mirip=sama)
Algoritma Clustering Agglomerative
• Algoritma
1. Setiap data adalah satu cluster, hitung matriks jarak Ulang
2. Gabung dua cluster paling dekat 3. Perbarui matriks jarak
Sampai tersisa hanya satu cluster
• Beberapa pendekatan untuk menghitung jarak antara dua cluster
• Single link, complete link, group average, jarak centroid
• Pemilihan pendekatan perhitungan jarak menentukan hasil clustering
Ilustrasi Algoritma Clustering Agglomerative
 Terdapat 5 data, masing- masing berupa suatu wadah.
Jumlah balok Jumlah
silinder
1
2 3
4 5
 Data tersebut diplot ke dalam ruang 2 dimensi menggunakan nilai atribut jumlah balok dan jumlah silinder.
 2 data yang mirip  jaraknya dekat
0
d(2,1) 0
d(3,1) d(3,2) 0
d(4,1) d(4,2) d(4,3) 0
d(5,1) d(5,2) d(5,3) d(5,4) 0
 Disusun matriks jarak yang menyimpan jarak Euclidean antara setiap dua data
1 2 3 4 5
1 2
3
4
5
Ilustrasi Algoritma Clustering
Agglomerative
Jumlah balok Jumlah
silinder
12 3
4 5
0
d(2,1) 0
d(3,1) d(3,2) 0
d(4,1) d(4,2) d(4,3) 0
d(5,1) d(5,2) d(5,3) d(5,4) 0
1 2 3 4 5
1 2 3 4 5
� ( 2 , 1 ) = √ | 2.0 − 1.0 |
2+ | 3 . 0 − 2.0 |
2=1. 41
0
1.41 0
2.24 1.00 0
2.24 2.24 3.16 0
2.00 1.41 2.24 1.00 0
1 2 3 4 5
1 2 3 4 5
� ( 3 , 1 ) = √ | 2.0 − 1.0 |
2+ | 4 . 0 − 2.0 |
2= 2 . 24
� ( 3 , 2 ) = √ | 2 .0 − 2 .0 |
2+ | 4 . 0 − 3 .0 |
2=1 . 00
� ( 4 , 1 ) = √ | 3 .0 − 1.0 |
2+ | 1 . 0 − 2.0 |
2= 2 . 24
� ( 5 , 4 ) = √ | 3 .0 − 3 .0 |
2+ | 2 . 0 − 1 .0 |
2=1 . 00
. . .
 Terdapat 10 nilai jarak.
Ilustrasi Algoritma Clustering
Agglomerative
Bottom-Up (agglomerative):
1. Dimulai dengan menjadikan tiap objek sebagai satu
cluster.
2. Menentukan pasangan terdekat untuk digabung menjadi satu cluster.
Memperbarui matriks jarak.
3. Langkah 2 diulang sampai semua cluster tergabung menjadi satu.
Data 1 Data 2 Data 3 Data 4 Data 5
1
2 3
4 5
Gabung satu pasangan cluster dengan nilai jarak terkecil dari 10 kemungkinan yang ada.
Iterasi 1
Perbarui matriks jarak. Data 2 Data 3
1
2 3
4 5
0
1.41 0
2.24 1.00 0
2.24 2.24 3.16 0
2.00 1.41 2.24 1.00 0
1 2 3 4 5
1 2 3 4 5
0
1.41 0
2.24 2.24 0
2.00 1.41 1.00 0
1 2,3 4 5
1 2,3
4
5
Gabung satu pasangan cluster dengan nilai jarak terkecil dari 10 kemungkinan yang ada.
Iterasi 1 Iterasi 2
Perbarui matriks jarak.
Gabung satu pasangan cluster dengan nilai jarak terkecil dari 6 kemungkinan yang ada.
Perbarui matriks jarak.
1
2 3
4 5
0
1.41 0
2.24 2.24 0
2.00 1.41 1.00 0
1 2,3 4 5
1 2,3
4 5
0
1.41 0
2.24 1.41 0 1 2,3 4,5 1
2,3
4,5
Gabung satu pasangan cluster dengan nilai jarak terkecil dari 10 kemungkinan yang ada.
Iterasi 1 Iterasi 2 Iterasi 3
Perbarui matriks jarak.
Gabung satu pasangan cluster dengan nilai jarak terkecil dari 6 kemungkinan yang ada.
Perbarui matriks jarak.
Gabung satu pasangan cluster dengan nilai jarak terkecil dari 3 kemungkinan yang ada.
1 2 3
4 5
0
1.41 0
2.24 1.41 0 1 2,3 4,5 1
2,3 4,5
0
1.41 0
Perbarui matriks jarak.
1,2,3 4,5 1,2,3
4,5
Gabung satu pasangan cluster dengan nilai jarak terkecil dari 10 kemungkinan yang ada.
Iterasi 1 Iterasi 2 Iterasi 3
Perbarui matriks jarak.
Gabung satu pasangan cluster dengan nilai jarak terkecil dari 6 kemungkinan yang ada.
Perbarui matriks jarak.
Gabung satu pasangan cluster dengan nilai jarak terkecil dari 3 kemungkinan yang ada.
0
1.41 0 1,2,3 4,5 1,2,3
4,5
Perbarui matriks jarak.
1,2,3,4,5
1
2 3
4 5
Menghitung jarak antar cluster
 Pada iterasi 1 data 2 dan data 3 digabung.
 Perbarui matriks jarak.
d( , ) = ??
d( , ) = ??
d( , ) = ??
d( , ) = ??
d( , ) = ??
d( , ) = ??
0
1.41 0
2.24 1.00 0
2.24 2.24 3.16 0
2.00 1.41 2.24 1.00 0
0
?? 0
2.24 ?? 0
2.00 ?? 1.00 0
� (¿¿1)
¿
� (¿ ¿2)
¿
� (¿¿3)
¿
� (¿¿4)
¿
� (¿¿5)
¿
�
, )
(¿¿1)
¿
� (¿¿4)
¿
� (¿¿5)
¿
Matriks jarak
0
1.41 0
2.24 1.00 0
2.24 2.24 3.16 0
2.00 1.41 2.24 1.00 0
0
?? 0
2.24 ?? 0
2.00 ?? 1.00 0
� (¿¿1)
¿
� (¿ ¿2)
¿
� (¿¿3)
¿
� (¿¿4)
¿
� (¿¿5)
¿
�
, )
(¿¿1)
¿
� (¿¿4)
¿
� (¿¿5)
¿
=1.41
=2.24
=1.41
Menghitung jarak
antar cluster
0
1.41 0
2.24 1.00 0
2.24 2.24 3.16 0
2.00 1.41 2.24 1.00 0
0
1.41 0
2.24 2.24 0
2.00 1.41 1.00 0
� (¿¿1)
¿
� (¿ ¿2)
¿
� (¿¿3)
¿
� (¿¿4)
¿
� (¿¿5)
¿
�
, )
(¿¿1)
¿
� (¿¿4)
¿
� (¿¿5)
¿
Menghitung jarak antar cluster
 Pada iterasi 2 data 4 dan data 5 digabung.
 Perbarui matriks jarak.
0
1.41 0
?? ?? 0
�
,)
(¿¿1)
¿
,)
d((x1),(x4,x5))= ??
d((x1),(x4,x5))= ??
d((x2,x3),(x4,x5))= ??
d((x2,x3),(x4,x5))= ??
0
1.41 0
2.24 1.00 0
2.24 2.24 3.16 0
2.00 1.41 2.24 1.00 0
0
1.41 0
?? ?? 0
� (¿¿1)
¿
� (¿ ¿2)
¿
� (¿¿3)
¿
� (¿¿4)
¿
� (¿¿5)
¿
, )
� (¿¿1)
¿
=2.00
=1.41
, )
Menghitung jarak
antar cluster
0
1.41 0
2.24 1.00 0
2.24 2.24 3.16 0
2.00 1.41 2.24 1.00 0
� (¿¿1)
¿
� (¿ ¿2)
¿
� (¿¿3)
¿
� (¿¿4)
¿
� (¿¿5)
¿
Menghitung jarak antar cluster
 Pada iterasi 3 data 1 dan data (2,3) digabung.
0
1.41 0
2.00 1.41 0
�
,)
(¿¿1)
¿
,)
0
1.41 0
, ) , )
Gabung
Selesai
Menghitung jarak antar cluster
MIN
MAX
Group Average
Jarak centroid
Metode lain menggunakan fungsi objektif
– Metode Ward menggunakan kuadrat jarak
Jarak?
Kemiripan?
Menghitung jarak antar cluster
 MIN
 MAX
 Group Average
 Jarak centroid
 Metode lain menggunakan fungsi objektif
– Metode Ward menggunakan jarak kuadrat
����� ( � 1, � 2 )=min ( ����� ( �
1�, �
2 �) )
Menghitung jarak antar cluster
 MIN
 MAX
 Group Average
 Jarak centroid
 Metode lain menggunakan fungsi objektif
– Metode Ward menggunakan jarak kuadrat
����� ( � 1,� 2 )=max ( ����� ( �
1�, �
2 �) )
Menghitung jarak antar cluster
 MIN
 MAX
 Group Average
 Jarak centroid
 Metode lain menggunakan fungsi objektif
– Metode Ward menggunakan jarak kuadrat
*
Menghitung jarak antar cluster
 MIN
 MAX
 Group Average
 Jarak centroid
 Metode lain menggunakan fungsi objektif
– Metode Ward menggunakan jarak kuadrat
 
Jarak antar Cluster: MIN atau Single Link
• Jarak dua cluster diwakili oleh jarak terdekat antara dua titik pada cluster yang berbeda.
0
0.10 0
0.90 0.30 0
0.35 0.40 0.60 0
0.80 0.50 0.70 0.20 0
� (¿¿2)
¿
� (¿¿3)
¿
� (¿¿4)
¿
� (¿¿5)
¿
� (¿ ¿1)
¿
1 2 3 4 5
Dendrogram
Nested Clusters
Jarak antar Cluster : MIN atau Single Link
• Kekuatan Min atau Single Link
• Dapat mengelompokkan kumpulan data berbentuk non-elips dengan baik, jika jarak antar cluster tidak terlalu dekat.
Original Points
Two Clusters
Original Points Two Clusters
Jarak antar Cluster : MIN atau Single Link
• Kelemahan Min atau Single Link
• Tidak dapat memisahkan kumpulan data dengan baik jika terdapat noise dan outlier.
Original Points Two Clusters
Jarak antar Cluster: MAX atau Complete Link
• Jarak dua cluster diwakili oleh jarak terjauh antara dua titik pada cluster yang berbeda.
0
0.10 0
0.90 0.30 0
0.35 0.40 0.60 0
0.80 0.50 0.70 0.20 0
� (¿¿2)
¿
� (¿¿3)
¿
� (¿¿4)
¿
� (¿¿5)
¿
� (¿ ¿1)
¿
1 2 3 4 5
Dendrogram
Nested Clusters
Jarak antar Cluster : MAX atau Complete Link
• Kekuatan Max atau Complete Link
• Dapat memisahkan kumpulan data dengan baik meski terdapat noise dan outlier.
Original Points Two Clusters
Jarak antar Cluster : MAX atau Complete Link
• Kelemahan Max atau Complete Link
• Memiliki kecenderungan memecah cluster yang besar
Original Points Two Clusters
Jarak antar Cluster: Group Average
• Jarak dua cluster diwakili oleh rata-rata jarak antara titik-titik pada cluster yang berbeda.
• Tidak terlalu sensitif dengan noise dan outlier.
Dendrogram Nested Clusters
0
0.10 0
0.90 0.30 0
0.35 0.40 0.60 0
0.80 0.50 0.70 0.20 0
� (¿¿2)
¿
� (¿¿3)
¿
� (¿¿4)
¿
� (¿¿5)
¿
� (¿ ¿1)
¿