تقنية

CatBoost: كيف يتعامل مع الخصائص الفئوية؟

سجلان سابقان وقيمة أولية ينتجان تمثيلًا عدديًا للسجل الثالث دون نتيجته
الرسم يشرح إحصاءً محددًا، وليس تنبؤ النموذج النهائي.

في CatBoost، لا يلزم تحويل أسماء الفئات إلى ترتيب عددي مصطنع. يدعم النموذج الخصائص الفئوية ويبني منها تمثيلات عددية، وقد يستخدم الترميز الأحادي داخليًا لفئات قليلة بحسب نمط التدريب. [1]

الخلاصة السريعة

يعالج CatBoost الفئات بوسائل منها إحصاءات مرتبة تستخدم سجلات سابقة؛ ليست كل خاصية فئوية ملزمة بهذه الوسيلة، ولا كل تشغيل ملزمًا بالتعزيز المرتب. [1] [2] [4]

  • تختلف معالجة الفئة بحسب الإعداد والنمط؛ وجود ترميز أحادي داخلي لا يبرر فرضه مسبقًا على المدخلات. [1]
  • في الإحصاء الموضح للتصنيف، يُحسب تمثيل السجل من السجلات السابقة في الترتيب، مع قيمة أولية محددة. [2]
  • تعرض الورقة معالجة الفئات والتعزيز المرتب كتقنيتين مختلفتين؛ وتتيح الواجهة Plain وOrdered، فلا يثبت الاسم وحده نمط التشغيل. [3] [4]
  • راجع معنى الفئات واتساق كتابتها والمهمة، ثم قارن النتيجة والتكلفة؛ آلية مرتبة لا تضمن جودة أي بيانات.

اسم الفئة ليس مرتبة عددية

يحذر توثيق CatBoost من إجراء الترميز الأحادي في المعالجة المسبقة، بينما يتيح استخدامه داخليًا في أوضاع محددة. وتختلف عتبة الفئات القليلة بحسب الشروط. [1]

تخيل خاصية تصف غلاف دفتر: «قماش»، و«ورق»، و«جلد». ترقيمها 1 و 2 و 3 لا يثبت أن الجلد يزيد عن الورق بمقدار يساوي زيادة الورق عن القماش. الأرقام هنا أسماء إن اخترناها كذلك؛ المطلوب توصيل هذا المعنى إلى النموذج، لا اختراع مسافة مادية بين المواد.

مثال: ماذا يعرف السجل عند دوره؟

يوضح التوثيق إحصاء تصنيف من الشكل: عدد النتائج الموجبة السابقة للفئة، مضافًا إليه prior، مقسومًا على عدد سجلاتها السابقة زائد واحد. الترتيب عشوائي في المثال الموثق. [2]

لنضع ترتيبًا مصطنعًا لأغلفة القماش، بنتائج 1 ثم 0 ثم 1، ونختار prior=0.5. قبل السجل الأول لا توجد أمثلة سابقة، فقيمته 0.5. قبل الثاني يوجد موجب واحد من سجل واحد، فقيمته (1+0.5)/(1+1)=0.75. قبل الثالث يوجد موجب واحد من سجلين، فقيمته (1+0.5)/(2+1)=0.5.

النتيجة 1 للسجل الثالث لم تدخل حساب تمثيله. كذلك لا يتساوى تمثيل كل أغلفة القماش أثناء هذا المرور. هذه أرقام أنشأناها لقراءة الإحصاء، وليست تنبؤات احتمالية أخرجها نموذج مدرب ولا وصفًا لجميع أنواع الإحصاءات التي يدعمها البرنامج.

ترتيب الإحصاء يختلف عن نمط التعزيز

تقدم ورقة CatBoost التعزيز المرتب ومعالجة الخصائص الفئوية كتقدمين خوارزميين مرتبطين بفكرة الترتيب. [3]

تتيح boosting_type النمطين Plain وOrdered، ويختلف الاختيار الافتراضي بحسب وحدة المعالجة وشروط المهمة. لذلك لا نسمّي كل تشغيل تعزيزًا مرتبًا لمجرد أنه يستعمل CatBoost. [4]

في مثال الأغلفة، تابعنا تمثيل خاصية واحدة. لم نبن أشجارًا ولم نحسب تحديثات النموذج. لذا لا نستنتج من هذا الجدول أننا شرحنا التدريب كاملًا. وإذا قرأت تقرير تجربة، اطلب إعداد نمط التعزيز وخصائص المهمة؛ ذكر اسم المكتبة لا يعوض هذه المعلومات.

ما الذي نتحقق منه عند التجربة؟

هل «قماش» و«قماش » بعده فراغ يمثلان المادة نفسها في بياناتك؟ وهل تغيرت تسمية المواد بين ملف التدريب والملف الجديد؟ هذه أسئلة عن تعريف المدخلات قبل مقارنة المخرجات. اكتب قاعدة تسمية واضحة بدل افتراض أن البرنامج سيكتشف قصد الكاتب.

ثم حدد ما تريد توقعه من الغلاف، وافحص الحالات التي تفشل فيها النتيجة. لا تجعل فائدته في معالجة الفئات سببًا لادعاء تفوق شامل أو إلغاء المراجعة. ينبغي أن تنسب أي نتيجة فعلية إلى بياناتها وإعدادها، بينما يبقى جدولنا شرحًا حسابيًا فقط.

المصادر ومتابعة القراءة

  1. CatBoost: Categorical features (يفتح في نافذة جديدة)catboost.ai
  2. CatBoost: Transforming categorical features to numerical features (يفتح في نافذة جديدة)catboost.ai
  3. Prokhorenkova et al: CatBoost unbiased boosting with categorical features (يفتح في نافذة جديدة)arxiv.org
  4. CatBoost official documentation source: Common parameters boosting_type (يفتح في نافذة جديدة)github.com

أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.