ویژگی از پاسخ خود رکورد ساخته نشود
Target encoding یک ویژگی دستهای را با آماری از متغیر هدف آن دسته جایگزین میکند. اگر برای هر ردیف از میانگینی استفاده شود که برچسب خود آن ردیف هم در آن حضور دارد، مدل بخشی از پاسخ را در ورودی میبیند. خطر برای دستههای نادر یا تقریباً یکتا بیشتر است. این مسئله با فایل تکراری فرق دارد؛ حتی رکوردهای کاملاً متفاوت هم میتوانند از این مسیر نشت بسازند.
مثال دو fold بدون هموارسازی
چهار ردیف آموزشی داریم. در fold اول، دسته A برچسب یک و دسته B برچسب صفر دارد. در fold دوم، دسته A برچسب صفر و دسته B برچسب یک دارد. اگر میانگین کل آموزش را برای همان آموزش به کار ببریم، هر دو دسته مقدار نیم میگیرند. در ساخت خارج از fold، ردیف A در fold اول از آمار fold دوم مقدار صفر میگیرد و ردیف B مقدار یک؛ برای fold دوم، مقدارهای یک و صفر از fold اول میآیند. هدف مثال اثبات بهترشدن معیار نیست؛ نشاندادن منشأ مجاز هر مقدار است.
مسیر درست آموزش و آزمون
داخل هر تقسیم اعتبارسنجی، تبدیل فقط از بخش آموزش همان تقسیم یاد گرفته میشود. برای ویژگیهای ردیفهای آموزش، cross-fitting داخلی کمک میکند برچسب خود ردیف در مقدار تبدیلشدهاش مصرف نشود. پس از آمادهسازی، آمار مجاز آموزش برای تبدیل داده آزمون یا اجرای بعدی استفاده میشود؛ هیچ برچسب آزمونی نباید وارد این آمار شود. دسته نادیده نیز به سیاست پیشفرض یا هموارسازی مشخص نیاز دارد.
تفاوت روشهای فراخوانی مهم است
در پیادهسازی TargetEncoder در scikit-learn، مسیر fit_transform برای ساخت ویژگی آموزش cross-fitting داخلی دارد؛ fit سپس transform روی همان آموزش، همان رفتار را ندارد. این جزئیات به ابزار وابسته است و باید از مستندات نسخه استفادهشده خوانده شود. نام یکسان پارامترها را شاهد یکسانبودن پیادهسازی دو کتابخانه ندانید.
کنترل منشأ و محدودیت
برای هر مقدار تبدیلشده، fold منبع، تعداد رکوردهای مبنا و نسخه هموارسازی را ثبت کنید. اگر داده زمانی یا گروهی است، fold تصادفی ممکن است هنوز نامناسب باشد؛ روش تقسیم باید با هدف آینده یا گروه تازه سازگار شود. فایل همراه چهار ردیف و مقدار خارج از fold را دارد. نمونه کوچک عمداً برای دیدن جریان اطلاعات است و برآورد عملکرد واقعی محسوب نمیشود.
کاربرگ و نمونه ثبت
| مورد | نمونه یا قاعده مشخص |
|---|---|
| آموزش ردیف ۱ | fold1، A، y=1؛ مقدار از fold2 برابر 0 |
| آموزش ردیف ۲ | fold1، B، y=0؛ مقدار از fold2 برابر 1 |
| آموزش ردیف ۳ | fold2، A، y=0؛ مقدار از fold1 برابر 1 |
| آموزش ردیف ۴ | fold2، B، y=1؛ مقدار از fold1 برابر 0 |
| تبدیل آزمون | فقط آمار آموزش؛ بدون y آزمون |
| دسته تازه | پیشفرض یا هموارسازی از پیش ثبتشده |
دریافت CSV داده و کاربرگ این مثال. دادهها آموزشیاند؛ برای کاربرد واقعی باید منبع، دامنه و قاعده تصمیم خودتان را ثبت کنید.
مرجع روش
scikit-learn: plot_target_encoder_cross_val. فرایند اجرایی و اعداد مثال برای این راهنما طراحی شدهاند و نتیجه آزمون هیچ محصولی نیستند.
ادامه مطالعه مرتبط
برای نوع جداگانه نشت از رخدادهای وابسته، آزمون تحلیل تماس لو رفته؟ تماسهای مشابه را جدا نگه داریم را ببینید.