خوشه‌بندی K-Means

آموزش الگوریتم K-Means: مراکز خوشه، مراحل تکرارشونده، انتخاب K با روش Elbow

K-Means چیست؟

محبوب‌ترین الگوریتم خوشه‌بندی: داده را به K خوشه تقسیم می‌کند طوری که هر نمونه به نزدیک‌ترین مرکز تعلق دارد.

الگوریتم گام‌به‌گام

  1. K نقطه به‌عنوان مرکز خوشه انتخاب می‌شوند (تصادفی)
  2. انتساب: هر نمونه به نزدیک‌ترین مرکز می‌رود
  3. به‌روزرسانی: هر مرکز به میانگین اعضای خوشه‌اش منتقل می‌شود
  4. مراحل ۲ و ۳ تا ثابت‌شدن تکرار می‌شوند

پیاده‌سازی

from sklearn.cluster import KMeans

model = KMeans(n_clusters=3, random_state=42, n_init=10)
labels = model.fit_predict(X)     # خوشه هر نمونه

print(model.cluster_centers_)     # مراکز خوشه‌ها
print(model.inertia_)             # مجموع مربعات فاصله‌ها (کمتر = خوشه فشرده‌تر)

انتخاب K: روش Elbow

چند خوشه؟ K را از ۱ تا ۱۰ امتحان کنید و inertia_ را رسم کنید. جایی که نمودار مثل «آرنج» خم می‌شود، K مناسب است:

inertias = []
for k in range(1, 11):
    km = KMeans(n_clusters=k, n_init=10).fit(X)
    inertias.append(km.inertia_)
plt.plot(range(1, 11), inertias, marker="o")

نکات مهم

ارزیابی خوشه‌بندی

چون برچسب نداریم، معیارهای داخلی داریم:

بعد از خوشه‌بندی، مراکز خوشه‌ها را تحلیل کنید تا هر خوشه را «نام‌گذاری» کنید: خوشه ۱ = جوان پرخرج، خوشه ۲ = مسن صرفه‌جو و...

جمع‌بندی

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

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