گام 1 - معرفی الگوریتم

معرفی الگوریتم

خوشه بندی و کلاسترینگ یک روش هوش مصنوعی برای حل مسائل است. از این روش می توان برای یادگیری نیز استفاده نمود. داده هایی که فاقد برچسب هستند یا داده هایی نامعلومی هستند را می توان با این روش شناسایی و دسته بندی نمود. بر اساس تعریف، کلاسترینگ یه روش برای ایجاد مجموعه های منتخب است که به صورت مفهومی و داخلی (محتوی آنها) با هم مرتبط هستند.

طبقه بندی

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

  1. کلاسترینگ مسطح  Flat clustering : ایجاد دسته ها بدون هیچ گونه ساختار صریح و مشخص انجام می گردد.
  2. کلاسترینگ یا خوشه بندی سلسله مراتبی Hierarchical clustering : ایجاد خوشه بندی سلسله مراتبی انجام میدهد.
  3. کلاسترینگ یا خوشه بندی سخت Hard clustering : هر سند را به صورت صریح به یک دسته مرتبط می کند.
  4. کلاسترینگ یا خوشه بندی نرم Soft clustering: اسناد را در تمام خوشه ها توزیع می کند.

الگوریتم های کلاسترینگ

  1. Agglomerative (Hierarchical clustering
  2. K-Means (Flat clustering, Hard clustering
  3. EM Algorithm (Flat clustering, Soft clustering
معرفی الگوریتم

الگوریتم K-Means به عنوان موثرترین روش در خوشه بندی مجمعه داده های بزرگ شناخته میشود که توسط مک کویین ابداع شده است.

در این قسمت الگوریتم پایه K-Means برای شما معرفی میگردد:

  1. مشخص کردن k به عنوان تعداد کلاسترهایی که باید تعیین شوند.
  2. انتخاب k عنصر تصادفی برای مجموع شروع
  3. قدم تکرار
  4. هر عنصر را به نزدیک ترین خوشه خود انتساب نمایید.
  5. کلاستر ها را محاسبه نمایید و نقطه میانی (mean point) را مشخص کنید.
  6. رفتن به قدم تکرار
  7. تغییری در نقاط مرکزی کلاستر ها ایجاد نکنید.
  8. هیچ عنصری کلاستر را تغییر نمیدهد.

گام 2 - کدنویسی

کد نویسی C# برای خوشه بندی اسناد متنی

ساخت کلاس ها و توابع مورد نیاز به زبان C# به شرح زیر میباشد.

 

گام 3 - فایل و کد های پروژه

فایل و کد های پروژه

پروژه کلاسترینگ متنی

برای در یافت پروژه کلاسترینگ متنی کلیک نمایید: TextClustering