تقنية

أوزان الفئات في شجرة القرار: تعديل أهمية الخطأ

ثماني بطاقات أ وبطاقتا ب ينتجان مجموعي وزن ثمانية وعشرة مع بقاء العدد الحقيقي عشر بطاقات
مجموع الأوزان 18 لا يعني وجود 18 بطاقة.

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

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

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

  • وزن الفئة يحدد مساهمة أمثلتها؛ يتطلب CartLearner وزنًا غير سالب لكل فئة عند استعمال القاموس. [1]
  • في المثال، 8 بطاقات أ بوزن 1 مقابل بطاقتي ب بوزن 5 تعني مجموعين 8 و 10، لا 18 بطاقة حقيقية.
  • يستخدم حساب انخفاض عدم النقاء مجاميع الأوزان عند ترجيح العينات. [2]
  • راجع الجمع بين الأوزان؛ CartLearner لا يقبل وزن الفئة والعينة معًا. [1]

ما الذي يعنيه إعطاء فئة وزنًا؟

تنص وثائق CartLearner على أن قاموس class_weights يحدد وزنًا لكل قيمة فئة، وأن الأوزان غير سالبة، وأن الافتراضي وزن 1. [1]

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

كيف تختلف الأغلبية العددية عن المرجحة؟

الجدول من إعداد المقال: لدينا 8 بطاقات أ وبطاقتا ب. مع وزن 1 لكليهما يكون مجموع أ هو 8 وب هو 2. مع وزن 5 لب تصبح مساهمتها 2×5=10، بينما يبقى أ عند 8. في نموذج توضيحي يختار أكبر مجموع مرجح من هذه الورقة، تنتقل الأغلبية المرجحة إلى ب.

عدد البطاقات يبقى 10 في الحالتين. والمجموع 18 في الحالة الثانية مجموع أوزان، لا حجم عينة مستقل. تعرض وثائق بنية الشجرة مجاميع العينات المرجحة وتميزها من العدد الفعلي. [3]

الفئةعدد البطاقاتالوزن المفترضمجموع الوزن
أ818
ب2510

هل يتعلق الوزن بالورقة النهائية فقط؟

يدخل مجموع الأوزان في حساب انخفاض عدم النقاء عند ترجيح العينات في scikit-learn. [2]

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

ماذا نراجع قبل تشغيل الأوزان؟

توثق YDF أن CartLearner لا يسمح بتحديد class_weights وweights معًا. [1]

اقرأ قاعدة المكتبة المستخدمة، ولا تفترض أن كل واجهة تجمع الأوزان بالطريقة نفسها. ثم سجل الهدف: هل تريد إعطاء خطأ فئة معينة أهمية أعلى، أم معالجة تكرارات غير متساوية؟ لا يكفي اسم «متوازن» وحده ليشرح القصد.

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

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

  1. YDF: CartLearner (يفتح في نافذة جديدة)ydf.readthedocs.io
  2. scikit-learn: DecisionTreeClassifier (يفتح في نافذة جديدة)scikit-learn.org
  3. scikit-learn: Understanding the decision tree structure (يفتح في نافذة جديدة)scikit-learn.org

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