وزندهی چه چیزی را تغییر میدهد؟
وزن کلاس سهم خطای نمونههای یک دسته را در هدف آموزش تغییر میدهد. این روش با افزودن نمونه تازه یا عوضکردن برچسب متفاوت است. وزن متوازن یکی از انتخابهای ممکن است، نه بهترین تنظیم همه پروژهها. باید دید الگوریتم انتخابی واقعاً این وزن را در تابع آموزش مصرف میکند یا فقط نام پارامتر در رابط وجود دارد.
محاسبه با مثال آموزشی
صد نمونه آموزش داریم: نود نمونه عادی و ده نمونه مهم. با فرمول وزن متوازن n تقسیم بر تعداد کلاسها ضربدر تعداد همان کلاس، وزن عادی برابر 100/(2×90)، یعنی حدود 0.556 است؛ وزن مهم برابر 100/(2×10)، یعنی 5 است. بنابراین وزن هر نمونه مهم نه برابر هر نمونه عادی میشود. این محاسبه از برچسبهای آموزش آمده و نباید از ترکیب آزمون یا داده آینده استفاده کند.
مقایسه کنترلشده
دو نسخه با داده، تبدیل و الگوریتم یکسان بسازید: یکی بدون وزن و دیگری با وزن ثبتشده. تنظیمات را روی اعتبارسنجی انتخاب کنید. بخش آزمون باید همان نسبت طبیعی یا دامنه هدف از پیش تعریفشده را نگه دارد؛ متوازنکردن مصنوعی آزمون میتواند تصویری متفاوت از کاربرد واقعی بسازد. برای هر نسخه ماتریس خطا و تعداد هر کلاس را گزارش کنید، نه فقط یک درصد کلی.
مثال تصمیم پس از آموزش
فرض کنید نسخه وزندار موارد مهم بیشتری پیدا میکند اما هشدار اشتباه هم بیشتر میسازد. این فقط نشان میدهد توازن رفتار عوض شده است. باید ظرفیت بررسی هشدار و هزینه از دستدادن را کنار نتیجه گذاشت. اعداد آموزش را به معنی احتمال کالیبره یا سود کسبوکار نخوانید. اگر نیت مدل رتبهبندی است، معیار مناسب همان کار را هم جدا بسنجید؛ وزن کلاس جای انتخاب معیار را نمیگیرد.
خطاهای رایج و محدودیت
اگر الگوریتم هم وزن نمونه و هم وزن کلاس دارد، روش ترکیب آنها را از مستندات بخوانید. نمونه پرتِ اشتباهبرچسبخورده در کلاس کمتعداد ممکن است اثر زیادی بگیرد؛ بازبینی برچسب لازم است. وزندهی همه مشکل کمبود تنوع داده را حل نمیکند. گزارش باید فرمول، تعداد آموزش و دلیل انتخاب وزن نهایی را ثبت کند تا نتیجه قابل بازسازی باشد.
کاربرگ و نمونه ثبت
| مورد | نمونه یا قاعده مشخص |
|---|---|
| کلاس عادی | ۹۰ نمونه آموزش؛ وزن ۰٫۵۵۶ |
| کلاس مهم | ۱۰ نمونه آموزش؛ وزن ۵ |
| فرمول | n / (تعداد کلاس × تعداد کلاس جاری) |
| نسبت اثر | ۵ ÷ ۰٫۵۵۶ تقریباً ۹ |
| دامنه محاسبه | فقط بخش آموزش |
| آزمون نهایی | ترکیب نمونهها برای هر دو نسخه ثابت |
دریافت CSV داده و کاربرگ این مثال. دادهها آموزشیاند؛ برای کاربرد واقعی باید منبع، دامنه و قاعده تصمیم خودتان را ثبت کنید.
مرجع روش
scikit-learn: utils.class_weight.compute_class_weight. فرایند اجرایی و اعداد مثال برای این راهنما طراحی شدهاند و نتیجه آزمون هیچ محصولی نیستند.
ادامه مطالعه مرتبط
برای تفسیر خطاهای هشدار پس از آموزش وزندار، هشدارهای تحلیل تماس چقدر درستاند؟ Precision و Recall با مثال را ببینید.