Anda berada di sini karena, Anda mengetahui sesuatu tentang pengelompokan Hierarki dan ingin mengetahui cara kerja pengelompokan Tautan Tunggal dan cara menggambar Dendrogram.

Pengelompokan Hierarki : Lambat :: rumit :: dapat diulang :: tidak cocok untuk kumpulan data besar.

Mari kita ambil 6 Vektor sederhana.

Menggunakan Jarak Euclidean memungkinkan menghitung Matriks Jarak.
Euclidean Distance = sqrt( (x2 -x1)**2 + (y2-y1)**2 )

Contoh : Jarak antara A dan B
sqrt ( (18- 22) ** 2 + (0–0) ** 2))
sqrt( (16) + 0)
sqrt( 16)= 4

Pengelompokan Tautan Tunggal: Minimal dua jarak. Menghasilkan cluster yang lebih besar dan lebih beragam.

Matriks Jarak: Diagonalnya akan menjadi 0 dan nilainya akan simetris.

Langkah a: Jarak terpendek dalam matriks adalah 1 dan vektor yang terkait dengannya adalah C & D

Jadi cluster pertama adalah C — D

Jarak antara vektor lain dan CD

A ke CD = min(A-›C, A-›D) = min(25,24) = 24
B ke CD = min(B-‹C, B-›D) = min(21, 20) = 20

dan juga menemukan E & F

Langkah b : Sekarang 2 adalah jarak terpendek dan vektor yang terkait dengannya adalah E & F

Cluster kedua adalah E — F

A ke EF = min(A-›E, A-›F) = min(9,7) = 7
CD ke EF = min(CD-›E, CD-›F) = min(15, 17) = 15

Langkah c : Yang terpendek berikutnya adalah 3, dan vektor terkaitnya adalah B & EF

Cluster ketiga adalah B — EF

A ke BEF = min(A-›B, A-›EF) = min(4,7) = 4
CD ke BEF = min(CD-›B, CD-›EF) = min(20, 15) = 15

Langkah d : Yang terpendek berikutnya adalah 4, dan vektor terkaitnya adalah A& BEF

Cluster keempat adalah A — BEF

CD ke ABEF = menit(CD-›A, CD-›BEF) = menit(24,15) = 15

Langkah e : Cluster terakhir adalah CD — ABEF

Mari kita lihat Dendrogram untuk cluster link tunggal.

Skrip Python 3 sederhana untuk mencapai hal yang sama.

import numpy as np
from scipy.cluster.hierarchy import dendrogram, linkage
from scipy.spatial.distance import squareform
import matplotlib.pyplot as plt
#skipping the distance calculation part and directly using the Distance Matrix
mat = np.array([[0,4,25,24,9,7], [4,0,21,20,5,3], [25,21,0,1,16,18], [24,20,1,0,15,17], [9,5,16,15,0,2], [7,3,18,17,2,0] ])
dists = squareform(mat)
#This step is where we mention its "Single Link" Cluster
linkage_matrix = linkage(dists, "single")
dendrogram(linkage_matrix, labels=["A","B","C","D","E","F"])
plt.title("Single Link")
plt.show()

Baca Langkah demi Langkah Tautan Hirarki Tautan Lengkap