تقنية

interaction_only في PolynomialFeatures: لماذا يبقى حاصل الضرب وتختفي المربعات؟

خاصيتان بقيم ثلاثة وخمسة تنتجان خمسة حدود في التوسيع الكامل وثلاثة حدود عند الاقتصار على جداءات خصائص مختلفة دون الحد الثابت
رسم أصلي لحساب مؤلف؛ لا يعرض نتيجة تدريب أو تنفيذ مكتبة.

interaction_only في PolynomialFeatures لا يعني الاحتفاظ بحاصل الضرب وحده. عند درجة 2 ، يحتفظ الخيار بالخصائص الأصلية وبجداء خاصيتين مختلفتين، ويستبعد تربيع كل خاصية منفردة. نفصل هذه الحدود بأسماء واضحة حتى لا نخلط توسيع المدخلات بتنبؤ تعلمه نموذج.

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

لأن interaction_only يسمح بجداءات خصائص مختلفة ويستبعد القوى التي تكرر الخاصية نفسها؛ وعند درجة 2 تبقى أيضا الخصائص الأصلية.

  • توضح وثائق PolynomialFeatures أن interaction_only=True يقصر الحدود على جداءات خصائص مختلفة، بينما include_bias=False يستبعد الحد الثابت. هما إعدادان مختلفان. [1]
  • نؤلف خاصيتين أ=3 وب=5 ، ونختار درجة 2 دون حد ثابت. التوسيع الكامل يعطي أ وب وأ² وأ×ب وب²، أي 3 و 5 و 9 و 15 و 25.
  • مع interaction_only=True تبقى أ وب وأ×ب، أي 3 و 5 و 15. لا يبقى حاصل الضرب وحده، واختفاء المربعين لا يجعل العلاقة 15 خطية في المدخلين الأصليين.
  • هذا حساب للحدود، لا نتيجة تدريب أو استدعاء برمجي. نوثق أسماء الأعمدة والدرجة والإعدادين؛ لا يثبت التوسيع معنى واقعيا لكل جداء أو تحسنا في أداء نموذج.

أي حدود يسمح بها خيار التفاعل؟

وفق وثائق PolynomialFeatures، يبني interaction_only=True جداءات مدخلات مختلفة ويستبعد قوى الخاصية الواحدة المكررة؛ ويحدد include_bias ما إذا كان عمود الحد الثابت موجودا. [1]

نتناول هنا درجتين حتى 2 مع خاصيتين فقط، ونضبط include_bias=False. فصلنا شرط الحد الثابت منذ البداية حتى لا ننسب اختفاء عمود الواحد إلى خيار التفاعل.

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

كيف نحسب التوسيع الكامل للقيمتين؟

نختار أ=3 وب=5 بلا وحدات في المثال. عند الدرجة 2 ، ودون الحد الثابت، نميز خمسة حدود: خاصيتين أصليتين، ومربعين، وجدَاء الخاصيتين. كل قيمة في الجدول ناتجة من حسابها المكتوب.

عرضنا اسم كل حد بجانب قيمته حتى لا يبدو الرقم 15 وكأنه خاصية أصلية ثالثة. فهو مشتق من 3 و 5 ، بينما 9 و 25 ينتجان من تكرار كل قيمة في ضرب نفسها.

هذه قيم مجردة، فلا نفترض أن 15 مساحة أو كمية ذات معنى في مجال معين. يحتاج تفسير الجداء إلى تعريف الخصائص ووحداتها وسؤال المهمة؛ صحة الضرب وحدها لا تمنحه ذلك التفسير.

الحدالحساب المؤلفالقيمة
أالقيمة الأصلية3
بالقيمة الأصلية5
أ²3×39
أ×ب3×515
ب²5×525

ما الذي يتغير مع interaction_only؟

عند تفعيل interaction_only في المثال نفسه، نحذف أ² وب² لأن كل حد منهما يكرر الخاصية نفسها. ونحتفظ بأ وب وأ×ب، فتكون القيم 3 و 5 و 15 ؛ لا نحذف الخاصيتين الأصليتين لمجرد أن اسمه «التفاعل فقط».

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

واستبعاد المربعات لا يجعل الجداء خطيا في المدخلين الأصليين. أ×ب ما زال حاصل ضربهما، حتى لو استعمل نموذج لاحق عموده ضمن جمع موزون. لم نفترض هنا ذلك النموذج أو نقدر أي أوزان.

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

نقترح حفظ أسماء الحدود وترتيبها والدرجة وinteraction_only وinclude_bias مع تعريف المدخلين. عند قراءة صف، نميز هل العمود قيمة أصلية أم مربعا أم جداء؛ طول الصف وحده لا يفسر معناه.

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

لم نستدع PolynomialFeatures أو نقارن نموذجا بآخر. المثال يبين أثر خيارين في حساب صغير قابل للمراجعة. أما اختيار التوسيع الملائم أو إثبات فائدته، فيحتاج تعريفا للمهمة وتقييما منفصلا عن صحة حساب 3×5.

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

  1. scikit-learn: PolynomialFeatures (يفتح في نافذة جديدة)scikit-learn.org

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