در بحث طبقهبندی دادهها یا همان Classification، ممکن است برخی از اصطلاحات به اشتباه به جای یکدیگر به کار روند و یا برخی از مفاهیم به جای برخی دیگر به کار گرفته شوند. در این درس به بررسی سه اصطلاح مهم و اصلی در طبقهبندی دادهها و تفاوت آنها با یکدیگر میپردازیم.
اولین اصطلاح طبقهبندی دودویی یا Binary Classification هست. همانطور که از نام آن پیداست در این دسته از مسائل، ، فقط دو طبقه (دو کلاس) موجود است و هر کدام از نمونهها به یکی از کلاسها تعلق دارند. برای مثال فرض کنید میخواهید سیستمی بسازید که به صورت خودکار تمایز بین ایمیلهای اسپم و ایمیلهای عادی را شناسایی کند. این کار را میتوانید بر اساس متن ایمیل (با استفاده از تبدیل متن به بردار با TF-IDF) یا ویژگیهای دیگر انجام دهید. برای اینکار بایستی ابتدا یک مجموعهی داده (Dataset) آماده کنید و این مجموعهی دادهی آموزشی را به الگوریتم طبقهبندی تزریق کنید تا این الگوریتم یادگیری را انجام دهد. در اینجا دادههای شما شبیه تصویر زیر میشود:
همانطور که مشاهده میکنید، هر کدام از نمونهها (در اینجا هر کدام از ایمیلها) به یک دسته (normal/spam) تعلق دارند. این نوع از مسائل که فقط دو طبقه داشته باشند، همان مسائل طبقهبندی دودویی هستند.
حال فرض کنید بر خلاف مثال بالا میخواهید هر کدام از ایمیلها، به جای تعلق به یکی از دستههای اسپم/عادی، به یکی از دستهها مانند عادی/شبکههای اجتماعی/تبلیغات/اسپم تعلق داشته باشند. در واقع در این مسئله بیشتر از دو طبقه (دو کلاس) داریم. به این مسائل مسائل چند کلاسه یا Multi Class میگویند. چیزی مانند تصویر زیر:
در این دست از مسائل نیز، هر کدام از نمونهها، به یکی از طبقهها تعلق دارند و الگوریتم بایستی الگوهای موجود میان متغیرهای مستقل (ویژگیهای مسئله) را پیدا کرده تا بتواند متغیر وابسته (طبقه یا همان برچسب) را پیشبینی کند.
اما دستهی سومی از مسائل هم وجود دارند. فرض کنید میخواهید یک مجموعه خبر را بر اساس متن آنها، به طبقههای مختلف، برچسبزنی کنید. طبقههایی مانند علمی/ورزشی/سیاسی/اقتصادی/مذهبی وجود دارند و هر کدام از خبرها میتوانند به بیش از یک طبقه تعلق داشته باشند. مثلاً خبری در مورد «خرید سهام یک تیم ورزشی» میتواند هم به طبقهی اقتصادی تعلق داشته باشد و هم ورزشی باشد. این گونه مسائل، مسائل طبقهبندی چند برچسبه یا Multi Label هستند که نسبت به مدل مسائل قبلی پیچیدهتر بوده و نیاز به الگوریتمهای پیشرفتهتری برای حل خود دارند. تصویر زیر مثالی از مجموعهی داده چند برچسبه (Multi Label) است:
- ۱ » الگوریتم K نزدیک ترین همسایه (KNN)
- ۲ » درخت های تصمیم جهت طبقهبندی (Decision Trees)
- ۳ » الگوریتم درخت تصمیم ID3 و ساختار Entropy و Gain
- ۴ » آشنایی با مفهوم Overfitting و Underfitting در طبقهبندی
- ۵ » آشنایی با مفهوم Bias و Variance در طبقهبندی
- ۶ » الگوریتم طبقهبندی درخت تصمیم C4.5
- ۷ » الگوریتم طبقه بند درخت تصمیم CART
- ۸ » طبقه بند ترکیبی (Ensemble Classifier) و مبحث Bagging و Boosting
- ۹ » الگوریتم جنگل تصادفی (Random Forest)
- ۱۰ » رگرسیون لجستیک (Logistic Regression)
- ۱۱ » مسائل طبقهبندی دودویی (binary)، چند کلاسه (Multi Class)، چند برچسبه (Multi Label) و تفاوت آنها
- ۱۲ » روش «یک در مقابل همه (One vs. All)» برای طبقهبندی دادههای چند کلاسه
- ۱۳ » روش «یک در مقابل یک (One vs. One)» در طبقهبندی
- ۱۴ » مدلهای احتمالی در مقابل مدلهای قطعی در طبقهبندی دادهها
- ۱۵ » ماتریس اغتشاش (Confusion Matrix) و معیار دقت (Accuracy)
- ۱۶ » معیار صحت (Precision)، پوشش (Recall) و معیار F
- ۱۷ » معیار کاپا (Kappa) برای ارزیابی طبقهبندیهای چندکلاسه
تو زمینه ای که فعالیت میکنید جزو بهترین سایت ها هستید.
سلام.وبسایتتون خیلی خوب و مفیده.به کارتون ادامه بدین
سلام. برای چند برچسبه چه روشهایی استفاده میشه؟
سلام استاد عزیز خدا قوت
مطالب بسیار شفاف و ساده آموزش داده شده بسیار عالی
سپاسگزارم