خوشه بندی(Clustering) چیست؟

«از مجموعه: درس آشنایی با داده کاوی(Data Mining) و کاربردهای آن»

پیش نیازهای این درس

بهتر است درس داده کاوی چیست و درس طبقه بندی را مطالعه ای داشته باشید

فرض کنید، شما یک فروشگاه بزرگ مواد غذایی دارید و مشتریان این فروشگاه که بالغ بر ۱۰۰هزار نفر هستند ویژگی های مختلفی دارند. اجازه دهید، سه ویژگی زیر را برای یک مشتری خاص از مشتریان این فروشگاه بزرگ مواد غذایی در نظر بگیریم:

۱. این مشتری آخرین خرید خود را چند روز پیش انجام داده است(که با R نام گذاری میکنیم)

۲. این مشتری در یک سال گذشته، به طور میانگین چند روز یک بار از فروشگاه ما خرید کرده است(که با F نام گذاری میکنیم)

۳. این مشتری در یکسال گذشته به طور میانگین در هر بار خرید، چه مبلغی از فروشگاه خرید کرده است(که با M نام گذاری میکنیم)

حال به جدول(ماتریس) زیر نگاهی بیندازید:

هر سطر در این جدول(ماتریس) یک مشتری را نشان میدهد. ستون های R و F و M به ترتیب سه ویژگی(سه بعد) مسئله ما را تشکیل میدهند که مطابق با سه ویژگی گفته شده در بالا است. این ها ۵ نمونه از ۱۰۰هزار مشتری فروشگاه ما را تشکیل می دهند که در جدول بالا نمایش داده شده است. به فرد شماره ۱ توجه کنید: این فرد ۳روز گذشته آخرین خرید خود را انجام داده است(ویژگی R). در یکسال گذشته به طور میانگین هر ۴روز یکبار خرید انجام می داده است(ویژگی F). و بلاخره به طور میانگین در یکسال گذشته در هر خرید ۵۰۰۰تومان خرید کرده است. بقیه مشتریان را هم میتوانید به همین ترتیب تفسیر کنید.

از لحاظ کسب و کار قطعا میدانید که نباید با تمامی مشتریان به یک صورت برخورد کنید. پس نیاز دارید تا بین گروه مشتریان مختلف خود تمایز قائل شوید. برای این کار میتوانید از خوشه بندی(Clustering) یا همان یادگیری غیرنظارت شده(Unsupervised Learning) استفاده کنید. این الگوریتم ها میتوانند با استفاده از ویژگی ها(ابعاد) مسئله(در اینجا R و F و M) گروه های مختلفی از نمونه ها را که شبیه به هم هستند پیدا کنند. مثلا فرض کنید از الگوریتم معروف KMeans استفاده می کنید. این الگوریتم تعداد گروه ها(خوشه ها) را از شما میخواهد، شما عدد ۸ را به الگوریتم میدهید، به این معنی که میخواهید الگوریتم بتواند ۱۰۰هزار مشتری شما را به ۸گروه یا همان خوشه تقسیم نماید، به صورتی که هر کدام از مشتریان یک گروه، به همدیگر شباهت های زیادی دارند. فرض کنید یکی از این ۸ گروه(که الگوریتم KMeans تقسیم بندی کرده است) حدوده ۱۵هزار مشتری دارد که معمولا دارای M و F بالایی هستند. به این معنی که این گروه پول زیادی در هر خرید خرج می کنند(مثلا هر بار حدوده ۱۲۰هزار تومان – ویژگی M)، ولی دوره برگشتشان به فروشگاه طولانی است(مثلا هر ۳۰روز یکبار به فروشگاه مراجعه میکنند – ویژگی F).

«کتاب های ويژه چیستیو»
آموزش پایه ای داده کاوی و طبقه بندی با پایتون و Scikit Learn

همان طور که مشاهده کردید، ما از میان داده هایمان توانستیم چندین گروه استخراج کنیم که یکی از این گروه ها(خوشه ها) ویژگی F و M بالایی داشت. حال میتوان برای این گروه(خوشه) تصمیم گرفت. برای مثال احتمالا این خوشه بیشتر احتیاج به مایع ظرف شویی بزرگ دارد، زیرا معمولا خریدهایی با مبلغ بالا برای مدت طولانی انجام می دهد، پس میتوان در یک تبلیغ پیامکی، اجناس بزرگ(مانند مایع ظرف شویی کیلویی) را برای این گروه(خوشه) از مخاطبان فرستاد. در واقع نوعی هوشمندی در کسب و کار با استفاده از خوشه بندی ارائه شده است.

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

الگوریتم های مختلف خوشه بندی مانند KMeans، DB Scan، OPTICS و… وجود دارند که در درس مخصوص خوشه بندی به آن ها خواهیم پرداخت.

یک دیدگاه برای “خوشه بندی(Clustering) چیست؟”

  1. با سلام
    توضیح ساده و بسیار قابل فهمی از مفهوم خوشه بندی اراءه نموده اید در متن که بسیار عالی ایت و برای کاربرانی که از نظر علم داده کاوی مبتدی هستن بسیار مفید وقابل درک است…
    سپاس

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *