در دنیای پر از داده‌های امروز، توانایی کشف الگوها و ساختارهای پنهان در میان انبوه اطلاعات از اهمیت بالایی برخوردار است. خوشه بندی (Clustering) یکی از قدرتمندترین تکنیک‌های داده‌کاوی بدون نظارت است که به ما این امکان را می‌دهد تا اشیاء مشابه را در گروه‌های (خوشه‌های) طبیعی دسته‌بندی کنیم. این روش برخلاف طبقه‌بندی، از برچسب‌های از پیش تعریف شده استفاده نمی‌کند و به جای آن به شباهت درونی داده‌ها تکیه دارد. در میان انواع روش‌های خوشه‌بندی، خوشه بندی سلسله مراتبی (Hierarchical Clustering) به دلیل رویکرد ساختار یافته و امکان بصری‌سازی نتایج در قالب دندروگرام، مورد توجه بسیاری قرار گرفته است. در ادامه به بررسی این روش و نحوه پیاده‌سازی آن در نرم‌افزار Weka خواهیم پرداخت.

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

خوشه بندی سلسله مراتبی یک روش برای ساختن یک ساختار درختی (سلسله مراتب) از خوشه‌ها است. این روش به جای تولید یک مجموعه نهایی از خوشه‌ها، یک سلسله مراتب از خوشه‌ها را ایجاد می‌کند که می‌تواند در سطوح مختلفی از جزئیات “بریده” شود تا تعداد دلخواه خوشه‌ها به دست آید. نتیجه نهایی یک نمایش درختی به نام دندروگرام (Dendrogram) است که روابط شباهت بین خوشه‌ها را به وضوح نشان می‌دهد. این رویکرد به تحلیل‌گر اجازه می‌دهد تا با بررسی دندروگرام، تعداد بهینه خوشه‌ها را برای مجموعه داده خود تعیین کند.

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

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

1. روش تجمیعی (Agglomerative - Bottom-Up)

این رایج‌ترین نوع خوشه بندی سلسله مراتبی است. در این روش، هر نقطه داده به عنوان یک خوشه جداگانه آغاز می‌شود. سپس در هر مرحله، نزدیک‌ترین جفت خوشه‌ها با هم ادغام می‌شوند تا زمانی که همه نقاط در یک خوشه بزرگ واحد قرار گیرند یا معیار توقف خاصی برآورده شود. این فرآیند از “پایین” (نقاط داده منفرد) به “بالا” (یک خوشه جامع) پیش می‌رود. معیار “نزدیک‌ترین” می‌تواند بر اساس فاصله‌های مختلف (مانند اقلیدسی یا منهتن) و روش‌های پیوند (Linkage Methods) مانند پیوند تکی (Single Linkage)، پیوند کامل (Complete Linkage)، پیوند میانگین (Average Linkage) یا روش وارد (Ward’s Method) تعریف شود.

2. روش تقسیمی (Divisive - Top-Down)

این روش برعکس تجمیعی عمل می‌کند. در ابتدا، همه نقاط داده در یک خوشه بزرگ واحد قرار دارند. سپس، در هر مرحله، بزرگترین خوشه به دو خوشه کوچکتر و ناهمگون تقسیم می‌شود تا زمانی که هر نقطه داده یک خوشه جداگانه را تشکیل دهد یا معیار توقف برآورده شود. این فرآیند از “بالا” (یک خوشه بزرگ) به “پایین” (خوشه‌های منفرد) پیش می‌رود. روش تقسیمی معمولاً از نظر محاسباتی گران‌تر از روش تجمیعی است.

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

مانند هر الگوریتم دیگری، خوشه‌بندی سلسله مراتبی نیز دارای نقاط قوت و ضعف خاص خود است:

مزایا:

  • عدم نیاز به تعیین تعداد خوشه‌ها: برخلاف روش‌هایی مانند K-Means، نیازی نیست که از قبل تعداد خوشه‌ها را مشخص کنید. این اطلاعات را می‌توان با برش دندروگرام در سطوح مختلف به دست آورد.
  • بصری‌سازی آسان: دندروگرام یک نمایش گرافیکی بصری و قابل درک از ساختار خوشه‌ها و روابط بین آنها ارائه می‌دهد.
  • انعطاف‌پذیری: می‌توان از معیارهای فاصله و روش‌های پیوند مختلف برای تطبیق با انواع گوناگون داده‌ها استفاده کرد.
  • مناسب برای ساختارهای تودرتو: به خوبی می‌تواند ساختارهای خوشه‌ای تودرتو (nested clusters) را شناسایی کند.

معایب:

  • پیچیدگی محاسباتی بالا: برای مجموعه داده‌های بزرگ، به خصوص در روش تجمیعی، می‌تواند از نظر محاسباتی بسیار زمان‌بر باشد (O(n3)O(n3) در حالت عمومی).
  • عدم قابلیت برگشت: تصمیم ادغام یا تقسیم یک بار گرفته شده، قابل لغو نیست و ممکن است منجر به خوشه‌های محلی نامناسب شود.
  • حساسیت به نویز: می‌تواند به نقاط پرت (outliers) حساس باشد، به خصوص با برخی از روش‌های پیوند.

گام به گام: اجرای خوشه بندی سلسله مراتبی در وکا

برای پیاده‌سازی خوشه بندی سلسله مراتبی در نرم‌افزار Weka، مراحل زیر را دنبال کنید:

  1. باز کردن Weka Explorer: نرم‌افزار Weka را اجرا کرده و گزینه Explorer را انتخاب کنید.

  2. بارگذاری مجموعه داده: به تب Preprocess بروید. روی دکمه Open file... کلیک کرده و مجموعه داده خود را در قالب .arff (Attribute-Relation File Format) بارگذاری کنید. مطمئن شوید که داده‌های شما دارای ویژگی‌های مناسب برای خوشه‌بندی هستند و نیازی به صفت کلاس (Class Attribute) در این مرحله نیست.

  3. رفتن به تب Cluster: پس از بارگذاری داده‌ها، به تب Cluster بروید.

  4. انتخاب الگوریتم HierarchicalCluster: در قسمت Clusterer، روی دکمه Choose کلیک کنید. از لیست الگوریتم‌ها، weka.clusterers.HierarchicalCluster را انتخاب کنید.

  5. پیکربندی پارامترها (اختیاری): روی نام الگوریتم انتخاب شده (که زیر دکمه Choose نمایش داده می‌شود) کلیک کنید تا پنجره تنظیمات باز شود. پارامترهای کلیدی که می‌توانید تنظیم کنید عبارتند از:

  • linkType: این پارامتر روش پیوند بین خوشه‌ها را مشخص می‌کند. گزینه‌های رایج عبارتند از:
  • SINGLE: بر اساس نزدیک‌ترین نقاط بین دو خوشه.
  • COMPLETE: بر اساس دورترین نقاط بین دو خوشه.
  • AVERAGE: بر اساس میانگین فاصله بین همه نقاط در دو خوشه.
  • CENTROID: بر اساس فاصله بین مراکز ثقل (سنتروید) دو خوشه.
  • WARD: تلاش برای به حداقل رساندن واریانس درون خوشه‌ها.
  • numClusters: اگر dontMerge بر روی False تنظیم شده باشد، این پارامتر تعداد خوشه‌های نهایی مورد نظر را مشخص می‌کند که از دندروگرام استخراج می‌شوند.
  • distanceFunction: نوع تابع فاصله را مشخص می‌کند (مثلاً weka.core.EuclideanDistance برای فاصله اقلیدسی یا weka.core.ManhattanDistance برای فاصله منهتن).
  • printNewAttributes: اگر True باشد، یک ویژگی جدید به مجموعه داده اضافه می‌شود که نشان‌دهنده خوشه‌ای است که هر نمونه به آن تعلق دارد.
  • dontMerge: اگر True باشد، Weka فقط دندروگرام را می‌سازد و خوشه‌های نهایی را ادغام نمی‌کند؛ شما می‌توانید دندروگرام را برای تعیین دستی تعداد خوشه‌ها مشاهده کنید. برای استخراج خوشه‌های مشخص، آن را False بگذارید و numClusters را تنظیم کنید.
  1. تعیین گزینه خروجی (Output clusters): در قسمت Cluster mode، گزینه Classes to clusters evaluation را انتخاب کنید تا Weka بتواند ارتباط خوشه‌ها را با صفت کلاسی (در صورت وجود) ارزیابی کند. اگر صفت کلاسی ندارید، Use training set را انتخاب کنید.

  2. شروع خوشه بندی: روی دکمه Start (در پایین و سمت راست) کلیک کنید.

  3. مشاهده و تحلیل نتایج:

  • پس از اتمام پردازش، نتایج در قسمت Clusterer output در سمت راست نمایش داده می‌شوند.
  • نتایج شامل اطلاعاتی در مورد تعداد خوشه‌ها، اندازه هر خوشه و ساختار دندروگرام است.
  • بصری‌سازی دندروگرام: برای دیدن ساختار سلسله مراتبی، در قسمت Result list (پایین سمت چپ)، روی خط مربوط به اجرای خوشه بندی راست کلیک کرده و گزینه Visualize tree را انتخاب کنید. این کار دندروگرام را نمایش می‌دهد که می‌توانید آن را برای تعیین بهترین برش و تعداد خوشه‌ها تحلیل کنید.

با پیاده‌سازی خوشه بندی سلسله مراتبی در Weka، می‌توانید به راحتی ساختارهای پنهان و روابط شباهت در داده‌های خود را کشف کرده و بینش‌های ارزشمندی به دست آورید.

کلیدواژه ها : پیاده سازی خوشه بندی در وکا-خوشه بندی سلسله مراتبی-Hierarchical Clustering-Weka-داده کاوی-Clustering-دندروگرام-Dendrogram-روش تجمیعی-Agglomerative-روش تقسیمی-Divisive-Single Linkage-Complete Linkage-Average Linkage-Ward’s Method-Weka Explorer-Clusterer-ARFF-Euclidean Distance-Manhattan Distance-نرم افزار Weka