حزمة النموذج للتنبؤ تحتاج وصف المدخل والمعالجة السابقة ومعنى المخرج، إضافة إلى النموذج وبيئة تشغيله. توثق Pipeline تحويلات متتابعة قبل تنبؤ الجزء الأخير، إذا كان يدعم التنبؤ. [1]
الخلاصة السريعة
ثبت العقد الذي يربط المدخل بالمخرج عند تسليم النموذج؛ معاملات صحيحة مع ترتيب خصائص أو خريطة فئات مختلفة قد تعطي تفسيرًا مختلفًا.
- يمر predict الموثق في Pipeline عبر تحويلات الخطوات السابقة ثم predict للجزء الأخير، ويشترط دعمه؛ لا نعيد fit أثناء مثال التسليم. [1]
- نعلن درجة = ضعفي الخاصية الأولى ناقص الثانية، وترتيبًا ثابتًا: العرض ثم الارتفاع. عرض 3 وارتفاع 5 يعطيان درجة 1، بينما تبديل الموضعين يعطي 7.
- في ترميزنا: الموجب يخرج 1 وغيره صفر، و 1 يعني «الفئة أ»؛ الدرجة 1 ليست الرمز 1 تلقائيًا، وقلب خريطة الأسماء يغير التفسير لا الدرجة.
- تحذر وثائق الحفظ من تحميل نموذج محفوظ بإصدار مختلف من scikit-learn بوصفه غير مدعوم؛ احفظ وصف البيئة والعقد ولا تعد المثال اختبار تحميل أو توافق. [2]
السلسلة المحفوظة أكثر من معاملات النهاية
في Pipeline، ينفذ التنبؤ تحويلات الخطوات السابقة ثم يستدعي تنبؤ الجزء الأخير، إذا أتاحه. هذا يوضح أن معنى التنبؤ قد يعتمد على خطوات قبل النموذج النهائي. [1]
نقترح بطاقة تسليم تربط حالة التحويلات المعتمدة بالنموذج، وتعلن ترتيب الخصائص ووحداتها وخريطة المخرج. لا نعلم تحويلات جديدة من بيانات الطلب في هذه البطاقة؛ السؤال ما الذي كان معتمدًا ويجب استعماله كما هو.
ونفرق بين حفظ سلسلة فعلية وبين كتابة قائمة أسماء. اسم «تحويل ت» لا يحفظ حالته المتعلمة وحده. عند الحاجة إلى تحويل معتمد، نربط مرجعه المحفوظ ونسخته بالنموذج، ونعلن هل الطلب يدخل قبله أم بعده بدل ترك ذلك لتخمين من يستلم الملف.
الأعداد نفسها قد تدخل في مواضع مختلفة
لعزل عقد ترتيب الخصائص، نؤلف نموذجًا حسابيًا بلا تحويل سابق في التمرين: الدرجة تساوي 2 × الخاصية الأولى ناقص الثانية. نعلن أن الأولى عرض والثانية ارتفاع، بوحدة واحدة ثابتة. المدخل عرض 3 وارتفاع 5 يعطي 2 × 3 − 5 = 1.
إذا استقبل جزء آخر القائمة 5 ثم 3، فالدرجة 2 × 5 − 3 = 7. بقيت المعاملات نفسها، لكننا بدلنا معنى موضعي المدخل. ليس هذا إعادة تعلم أو تغيير نموذج؛ هو مخالفة عقد ترتيب المثال.
لا نصف الدرجة بأنها قياس هندسي أو احتمال. النموذج قاعدة اصطناعية من اختيارنا، وليس تقديرًا متعلمًا لجودة جسم. وجود عددين صالحين للآلة لا يجعل معناهما صحيحًا؛ نحتاج إلى أسماء الحقول ووحداتها وترتيبها.
رمز الفئة غير اسمها وغير الدرجة
نعلن قاعدة أخرى للمخرج: إذا كانت الدرجة موجبة نعطي الرمز 1، وإلا نعطي صفرًا. ونحدد الخريطة صفر = الفئة ب، و 1 = الفئة أ. تحت مدخلنا الصحيح الدرجة 1، والرمز 1، والاسم الفئة أ؛ تساوي العددين في هذه الحالة لا يجعلهما الحقل نفسه.
المدخل المعكوس يعطي درجة 7، لكنه يعطي الرمز 1 أيضًا وفق شرط الموجب. لذلك لا يكشف اسم الفئة وحده خطأ الترتيب في هذه الحالة. لو قلبنا الخريطة مع إبقاء الدرجة والرمز، سيقرأ المستلم الرمز نفسه باسم الفئة ب.
احفظ تعريف شرط الرمز وخريطة الأسماء مع النموذج. لا نغير الفئات في الخفاء ولا نعتبر الرسم دليل صحة تلك الفئة في العالم؛ الاسم يفسر مخرج قاعدة اخترعناها، دون جواب حقيقي للمهمة.
البيئة والتحقق جزء من مرجع التسليم
تنص وثائق scikit-learn على أن تحميل نموذج محفوظ بإصدار مختلف غير مدعوم، وتطلب بيئة لها الحزم والإصدارات نفسها لمسارات الحفظ المعنية. [2]
في بطاقة مثالنا نضيف هوية الحزمة ومرجع التحويل والنموذج ومخطط الحقول وخريطة الأسماء ووصف البيئة. ونضع حالة تحقق واضحة: مثال حسابي راجعناه، وليس حزمة حملناها أو شغلناها. رقم إصدار مكتوب لا يثبت وحده أن تشغيلًا اختبر بنجاح.
عند تعديل خريطة أو تحويل أو ترتيب، احتفظ بالنسخة السابقة وسجل عقد النسخة الجديدة. لم نحفظ نموذجًا آليًا أو نختبر توافق مكتبة؛ المقال يقدم بطاقة تجعل معنى ملف المعاملات قابلًا للمراجعة عند إعداد تنبؤ فعلي.
المصادر ومتابعة القراءة
- scikit-learn Pipeline.predict (يفتح في نافذة جديدة)scikit-learn.org
- scikit-learn model persistence (يفتح في نافذة جديدة)scikit-learn.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
