طبقه‌بندی (Classification) چیست؟

مدرس: مسعود کاویانی

مانند مثال قبل در درس داده‌کاوی چیست؟، فرض کنید مدیریتِ یک بانک را برعهده دارید که ۱۰۰ هزار مشتری دارد و می‌خواهید به یک سری از مشتریانِ خود وام دهید. طبیعتاً به افرادی وام را خواهید داد که شانسِ برگرداندن وام توسط آن‌ها بیشتر باشد. هر کدام از این افراد نیز، دارای خصوصیات مختلفی هستند (ویژگی‌های آن‌ها). برای مثال، آیا این شخص خانه دارد یا نه؟ این شخص دارای اتومبیل شخصی هست یا خیر؟ حقوق دریافتیِ این شخص چقدر است؟ و… .

حال فرض کنید این بانک دارای یک سابقه‌ی ۱۰ هزار تایی از مشتریانی است که وام گرفته‌اند که یا توانسته‌اند برگردانند یا خیر. این افراد به دو دسته (۲ کلاس) تقسیم شده اند، یا توانسته اند وام خود را بازگردانند (کلاسِ ۱) یا خیر (کلاسِ ۲). همان طور که گفتیم این افراد خصوصیات یا ویژگی‌های مختلفی داشته‌اند. پس نگاهی به جدول زیر بیندازید:

تفسیر این جدول که نوعی ماتریس نیز هست، ساده است. همان‌طور که مشاهده می‌کنید، شخصِ شماره‌ی ۱، دارای منزل است، تعداد ۲فرزند دارد، حقوق ماهیانه معادل ۸۰۰ هزار تومان دارد و یک اتومبیل از خود دارد. در ستون آخر (ستون برچسب یا lable) مشاهده میکنید که این شخص توانسته وام خود را برگرداند. شخص شماره ۲ و ۳ هم به همین ترتیب است یعنی توانسته‌اند وامِ خود را برگردانند. ولی شخصِ شماره‌ی ۴، با ویژگی‌هایی که دارد، نتوانسته وام دریافتیِ خود را بازگرداند. این سه مورد از ۱۰ هزار مشتریِ مختلفی است که در پایگاه داده‌ی بانک ذخیره شده‌اند.

همان‌طور که مشاهده می‌کنید، در جدولِ بالا (که در داده‌کاوی به ماتریس معروف است)، هر سطر نمایشگرِ یک فرد خاص است. به این فرد خاص، یک رکورد یا یک نمونه یا یک sample یا یک tuple گفته می‌شود. و هر ستون نمایشگرِ یک ویژگی یا همان feature است. به ویژگی‌ها در داده‌کاوی اصطلاحاً بٌعد (dimension) نیز گفته می‌شود. مثلاً داده‌های موجود در تصویرِ بالا، ۴بعدی است چون ۴ ویژگی (ستون) دارد. توجه کنید که ستونِ آخر، ستونِ برچسب‌ها یا همان lableهای ماست که مشخص میکند یک نمونه‌ی خاص، در هر سطر به کدام دسته (class) تعلق دارد. در این مثال ما ۲ دسته یا ۲ طبقه (class) داریم. کسانی که وام خود را پس داده‌اند، و کسانی که وام خود را پس نداده.اند.

به طور کلی به مسئله‌هایی که ستون طبقه یا class را داشته باشند، مسائل طبقه‌بندی یا classification گفته می‌شود. این دست از مسائل به یاگیریِ با ناظر (supervised learning) نیز معروف هستند، چون در واقع یک ناظر وجود دارد که ستون آخر را برای ما برچسب‌زنی کند (مثلاً در این‌جا مدیر بانک، تعدادی مشخصی از مشتریان را برای ما برچسب زده است).

الگوریتم‌های یادگیری ماشین و داده‌کاوی که عملِ طبقه‌بندی را انجام می‌دهند (مانند SVM، Random Forest، Naive Bayes و…) می‌توانند این جدول یا همان ماتریس را به عنوانِ ورودی قبول کنند و از این ماتریس و ویژگی‌های آن، الگوی موجود در هر طبقه یا class را یاد بگیرند. سپس اگر یک نمونه‌ی جدید (مثلاً یک مشتریِ جدید) – که طبقه‌ی آن را نمی‌دانیم – به الگوریتمی که یادگرفته است داده شود، این الگوریتم می‌تواند این نمونه‌ی جدید را به طبقه‌های احتمالاً درست (که قبلا دیده است) طبقه‌بندی یا classification کند. مثلاً یک مشتریِ جدید با ۴ ویژگی، به الگوریتم داده می‌شود، و الگوریتم می‌تواند با توجه به داده هایی که یادگرفته است پیش‌بینی کند که این مشتریِ جدید می‌تواند وام خود را پس دهد یا خیر؟

ترتیب پیشنهادی خواندن درس‌های این مجموعه به صورت زیر است:

33 دیدگاه دربارهٔ «طبقه‌بندی (Classification) چیست؟»

  1. خیلی ازتون ممنونم. معلومه این متن رو کسی نوشته که عمیقا داده کاوی و یادگیری ماشین رو بلده. همین باعث میشه هر فردی با هر تخصص غیر مرتبطی کاملا این مباحث رو بفهمه.

  2. بسیا عالی بود با این من درس داده کاوی رو پاس کردم اما این توضیحات بیشتر مفید بود.به امید موفقیت های بیشتر برای شما

  3. واقعاً ممنون. بسیار کوتاه و بسیار مفید. به طوری که باعث شد با صرف کمترین انرژی و در حداقل زمان این موضوع رو تا حد بسیار زیادی درک کنم و متعاقباً در فهم مسائل بعدی من رو کمک کنه.
    از شما به خاطر بیان واضح و کاربردیتون سپاس‌گزارم

  4. جز اولین منابع پر و عالی فارسی بودین…
    خیلی عالی بود… موضوع پایان نامم یادگیری ماشین عه در حالیکه رشتم هیچ ارتباطی به برق و کامپیوتر نداره! و باید همه چیو از پایه یاد بگیرم…
    ممنون واقعا

  5. سلام
    توضیحاتتون عالیه
    اونجایی که نوشتین:
    “به طور کلی به مسئله هایی که ستون آخر(ستون طبقه یا Class) را داشته باشند، مسائل طبقه‌بندی یا Classification گفته می شود. ”
    مگه Regression هم این خاصیت رو نداره؟ مثلا پیشبینی آب و هوا ستون آخر دمای هوا هست.
    مرسی

دیدگاهتان را بنویسید

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