خوشه‌بندی سلسله‌مراتبی

آموزش خوشه‌بندی سلسله‌مراتبی: Agglomerative، Dendrogram و معیارهای پیوند

خوشه‌بندی سلسله‌مراتبی چیست؟

برخلاف KMeans که K را از قبل می‌خواهد، این روش ساختار درختی خوشه‌ها را می‌سازد و شما بعداً هر سطحی که خواستید برش می‌زنید.

دو رویکرد

مراحل Agglomerative

  1. هر نقطه = یک خوشه
  2. دو نزدیک‌ترین خوشه را پیدا و ادغام کن
  3. تکرار تا یک خوشه بماند

معیار فاصله بین خوشه‌ها (Linkage)

پیوندتعریفویژگی
wardکمینه‌سازی واریانسخوشه‌های هم‌اندازه (پیشنهادی)
completeدورترین اعضاخوشه‌های فشرده
averageمیانگین همه جفت‌هامتعادل
singleنزدیک‌ترین اعضازنجیره‌ای (مشکل‌دار)

Dendrogram (نمودار درختی)

نتیجه خوشه‌بندی سلسله‌مراتبی یک درخت است که ارتفاع هر ادغام = فاصله خوشه‌ها. با رسم خط افقی، تعداد خوشه‌ها را انتخاب می‌کنید:

from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt

Z = linkage(X, method="ward")
dendrogram(Z)
plt.show()

پیاده‌سازی

from sklearn.cluster import AgglomerativeClustering

model = AgglomerativeClustering(n_clusters=3, linkage="ward")
labels = model.fit_predict(X)

KMeans یا سلسله‌مراتبی؟

معیارKMeansسلسله‌مراتبی
سرعت روی داده بزرگسریع ✅کند O(n²)
نیاز به K از قبلبلهنه (بعداً برش) ✅
شکل خوشهگردانعطاف‌پذیرتر ✅
تفسیر ساختارسادهDendrogram عالی ✅

جمع‌بندی

این مبحث بخشی از دوره آموزش کامل ماشین لرنینگ است.

ابزارهای مرتبط