العودة إلى المدونة
Machine Learning 18 فبراير 2025 5 min للقراءة

السلاح السري لـ CatBoost: ترميز الهدف المرتب شرحاً وافياً

كيف يتعامل CatBoost مع الميزات الفئوية دون تسرب بيانات باستخدام الترميز المرتب.

مشكلة تسرب البيانات

يُسرّب ترميز الهدف الساذج معلومات مستقبلية: عند ترميز فئة بمتوسط هدفها، فإنك تستخدم معلومات من الصف نفسه لترميزه.

حل CatBoost: الترميز المرتب للهدف

يعالج CatBoost الصفوف بترتيب عشوائي. وعند ترميز الصف i، يستخدم فقط الإحصاءات المحسوبة من الصفوف 0..i-1. وهذا يمنع التسرب بحكم التصميم.

التنفيذ

from catboost import CatBoostClassifier

model = CatBoostClassifier(
    cat_features=['city', 'device_type', 'email_domain'],
    iterations=1000,
    learning_rate=0.05,
    depth=6,
)
model.fit(X_train, y_train)

لا حاجة لأي ترميز يدوي — مرّر السلاسل النصية الخام مباشرة.

CatBoostCategorical FeaturesTarget EncodingGradient Boosting
O

Ossama Elhakki

مهندس ذكاء اصطناعي وأنظمة ML — المغرب