قيمة error_score عند فشل التدريب قد تدخل جدول البحث بدل نتيجة لم تنتج من تدريب ناجح. لهذا لا يكفي تطابق رقمين لنقول إن مرشحين حققا الأداء نفسه. نقرأ عقد GridSearchCV ونبني بطاقة ذات حالة ورقم منفصلين، دون تنفيذ بحث عن نموذج.
الخلاصة السريعة
لا؛ الرقم الذي عوض فشل التدريب لا يصبح قياس أداء ناجحًا. احتفظ بحالة التجربة مع نتيجتها، واقرأ إعداد التعامل مع الخطأ.
- تعين GridSearchCV قيمة error_score عند خطأ تدريب؛ القيمة العددية تصاحبها FitFailedWarning، وخيار raise يرفع الخطأ. [1]
- في بطاقتنا سجل أ قيمة تعويض صفر بعد فشل التدريب، وسجل ب قياسًا ناجحًا صفرًا؛ الرقمان متساويان والحالتان مختلفتان.
- إذا خلطنا تعويض صفر مع قياس ناجح 0.8 فالمتوسط الحسابي 0.4، لكنه لا يصف نجاح تدريبين؛ نقترح حفظ الحالة بدل تفسير الرقم وحده.
- لا يتحكم error_score في refit النهائي؛ الخطأ في تلك الخطوة يرفع مهما كان التعويض. [1] لم نشغل تجربة، ولا نصنف كل تحذير على أنه فشل تدريب.
أي حدث يستبدله الرقم؟
يوثق error_score قيمة تسند للنتيجة عند خطأ في fit: رقم مع FitFailedWarning، أو raise لرفع الخطأ. [1]
نتحدث عن إعداد في بحث نموذج موثق، لا عن صفر يعيده مصنف فعلًا ولا عن وسيلة تعالج سبب الخطأ. كتابة تعويض تجعل خانة قابلة للعرض، لكنها لا توفر معاملات تدربت بنجاح أو تنبؤات لم يحسبها المرشح.
نقترح في سجل المراجعة خانات لاسم المرشح والجزء الذي جرب وحالة التدريب ونوع القيمة. بهذه البطاقة يظل الرقم مفهومًا حتى لو نقله تقرير مختصر بعيدًا عن رسالة التحذير الأصلية. وصف الحالة قبل تجميع الأرقام يمنع فقد الفرق الذي نريد تفسيره.
كيف يتساوى الرقمان دون تساوي التجربتين؟
نعلن إعداد تعويض مقداره صفر. المرشح أ فشل تدريبه في الحالة المؤلفة، فسجلنا صفرًا بوصفه تعويضًا. المرشح ب تدرب وقيس بنجاح، وكانت نتيجته الحقيقية في عقد المثال صفرًا. لا نحدد بيانات أو سبب فشل يسمح باستنتاج أوزان نموذج.
يعرض الجدول المختصر رقمًا واحدًا في كل صف، فيبدو التطابق كاملًا. لكن أ لا يقدم هنا قياسًا ناجحًا لهذا الجزء، وب يقدم قياسًا ناجحًا ضعيفًا وفق المقياس الذي افترضناه. قد يحتاج الأول إصلاح إعداد أو مدخل، والثاني تحليل أداء؛ الرقم لا يختار التشخيص.
ولا نقرر أن ب أفضل في الاستخدام لأن تدريبًا واحدًا نجح. لم نعط كل المرشحين أو مقياس اختيار كاملًا. الدرس قراءة منشأ القيمة، لا وصف وصفة لاختيار الفائز عند أخطاء عديدة.
ماذا يعني متوسط فيه تعويض؟
نضيف بطاقة منفصلة لمرشح ج: حالتان، الأولى فشل أعطي صفرًا، والثانية قياس ناجح 0.8. المتوسط العددي للقيمتين يساوي (0 + 0.8) ÷ 2 = 0.4. الحساب صحيح للقيم المعروضة، لكن تسميته «متوسط قياسين ناجحين» تخالف حالتنا المعلنة.
لا نقدم هذا الصف كناتج GridSearchCV جرى تنفيذه، ولا نزعم أن كل إعداد يجمع الإخفاقات بالطريقة نفسها. لدينا مثال لجمع عددين كي نرى كيف يختفي نوع الرقم عندما نحذف عمود الحالة. وقد يختار النظام التعويض NaN بدل صفر، فلا ننقل الحساب نفسه إلى تلك الحالة.
في ورقة مراجعتنا نعرض نتيجة الحالة الناجحة وحدها إلى جانب وجود فشل، ونترك قاعدة قبول المرشح وتعاملها مع النقص معلنة. لا نخترع أداء الحالة الفاشلة ولا ندعي أن حذفها وحده يجعل المقارنة عادلة بين المرشحين.
هل يمتد التعويض إلى إعادة التدريب النهائية؟
ينص التوثيق على أن هذا الإعداد لا يؤثر في refit؛ خطأ إعادة التدريب النهائية يرفع. [1]
لذلك لا نكتب في خطة العمل أن تعويض صفر سيكمل كل المسار مهما حدث. هناك مرحلة اختيار وتجارب، ثم خطوة أخرى قد تحاول تدريب المرشح المختار على البيانات المعنية كلها. معرفة الرقم المعروض لا تثبت نجاح تلك الخطوة.
كما لا نجعل أي تحذير رأيناه مرادفًا لهذا النوع المحدد. نقرأ نوع الحدث والمرحلة ونحفظ السبب الفعلي إذا توفر. لم نجرب مرشحًا أو نلتقط استثناءً؛ حددنا كيف نفصل قيمة بديلة عن قياس ونتيجة نهائية قبل تفسير تقرير بحث.
المصادر ومتابعة القراءة
- scikit-learn: GridSearchCV error_score (يفتح في نافذة جديدة)scikit-learn.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
