عتبة التباين لاختيار الميزات تعتمد على الأرقام التي تقارنها بها. إذا أصبحت أرقام الوحدة الجديدة عشرة أضعاف القديمة، يصبح التباين مئة ضعف في حسابنا. إبقاء العدد نفسه للعتبة قد يغير الأعمدة المختارة، مع أن القيم الأصلية لم تكتسب معلومة جديدة.
الخلاصة السريعة
لا؛ قد يتغير القرار عند إبقاء العتبة العددية نفسها بعد تغيير المقياس. نحتاج تفسير العتبة على مقياس التباين المستخدم.
- يحتفظ القناع المقروء في VarianceThreshold بالميزة حين يتجاوز تباينها العتبة. [2] نعلن في المثال قسمة مجموع مربعات الفروق على عدد القيم.
- للعمود أ بقيم 1 و 3 تباين 1 ، وللعمود ب بقيم 0 و 6 تباين 9 ؛ عند عتبة 2 نحتفظ بالعمود ب وحده.
- بعد ضرب العمودين في 10 يصبح التباينان 100 و 900 ؛ عتبة 2 تحتفظ بهما، بينما عتبة 200 تعيد اختيار ب وحده.
- تنظر الأداة إلى الميزات دون النتائج المطلوبة. [1] لذلك لا يثبت تجاوز العتبة أن الميزة مفيدة للتنبؤ؛ وثق الوحدة وصيغة التباين والحد قبل المقارنة.
أي تباين وأي شرط نستخدم؟
تصف الوثائق اختيار الميزات بحسب تباين التدريب، دون استعمال النتائج المطلوبة. [1] ويستخدم القناع في الكود المقروء شرط أن يتجاوز التباين العتبة. [2]
توضح NumPy التباين بمتوسط مربعات الفروق عن المتوسط؛ يتغير المقام عند اختيار ddof مختلف. [3]
نختار حسابا تعليميا لقيم معلومة ومنتهية: نجمع مربع فرق كل قيمة عن متوسط عمودها ونقسم على عدد القيم. نثبت هذه الصيغة في المقارنتين، ونختار عتبة موجبة قدرها 2. العتبة هنا قاعدة لاختيار عمود، وليست حدا لكل قيمة منفردة داخله.
ما القرار قبل تبديل المقياس؟
نؤلف صفين بميزتين. قيم أ هي 1 و 3 ، ومتوسطها 2. الفارقان سالب 1 وموجب 1 ، ومجموع مربعيهما 2 ؛ قسمة 2 على عدد القيم 2 تعطي تباينا 1.
قيم ب هي 0 و 6 ، ومتوسطها 3. الفارقان سالب 3 وموجب 3 ، والمجموع 18 ؛ بالقسمة نفسها نحصل على 9. عند مقارنة 1 و 9 بالعتبة 2 تبقى ب وتستبعد أ من التمثيل المختار. احتفظنا بأصل أ في المثال، ولم نحذف سجلي الصفين.
تجاوز ب الحد لا يجعلها أهم من أ لهدف لم نعرّفه. ما حسبناه انتشار عددي تحت قاعدة محددة، وليس ارتباطا بنتيجة أو اختبارا لأداء مصنف.
| التمثيل والعتبة | تباين أ | تباين ب | الميزات المحتفظ بها |
|---|---|---|---|
| الأصلي؛ العتبة 2 | 1 | 9 | ب |
| الأرقام مضروبة في 10 ؛ العتبة 2 | 100 | 900 | أ وب |
| الأرقام مضروبة في 10 ؛ العتبة 200 | 100 | 900 | ب |
لماذا لا يكفي نقل العدد 2 كما هو؟
نفترض أن تعريف الوحدة الجديدة يجعل كل رقم عشرة أضعاف نظيره القديم، في العمودين معا. تصبح أ 10 و 30 بمتوسط 20 ، وتصبح ب 0 و 60 بمتوسط 30. مربعات الفروق تزيد بالعامل 100 ، فتنتج قيمتا التباين 100 و 900.
إذا أبقينا العتبة 2 نحتفظ بالعمودين. أما تحويل حد التباين بالمعامل نفسه، من 2 إلى 200 ، فيستبعد أ ويحتفظ بب. هذه مقارنة لثلاث قواعد معلنة في الجدول؛ لم نكتشف معلومة إضافية في أ بمجرد تكبير أرقامها.
والعامل 100 يخص ضرب الأرقام في 10 وصيغة التباين المذكورة. لا ننقل هذا الحساب إلى تبديل غير خطي أو إلى أعمدة بوحدات مجهولة. تغيير صيغة التباين أيضا يصنع مقارنة أخرى تحتاج وصفا مستقلا.
كيف نراجع الاختيار قبل استخدامه؟
اكتب لكل تمثيل وحدة الأرقام وصيغة الحساب والعتبة وأسماء الأعمدة المختارة. عند اختلاف قائمتين، راجع هذه العناصر قبل أن تنسب الفرق إلى تغير السجلات أو جودة الميزات.
ثم افصل سؤال «أي عمود اجتاز هذا الحد؟» عن سؤال «أي عمود يفيد المهمة؟». يحتاج الثاني إلى دليل يناسب المهمة والنتائج المطلوبة. مثالنا يثبت أثر قاعدة عددية على أ وب فقط؛ لم نستدع الأداة أو ندرّب نموذجا، ولم نحدد وصفة عامة لاستبعاد الميزات.
المصادر ومتابعة القراءة
- scikit-learn 1.9.1: VarianceThreshold (يفتح في نافذة جديدة)scikit-learn.org
- scikit-learn 1.9.1: variance selector implementation (يفتح في نافذة جديدة)raw.githubusercontent.com
- NumPy: nanvar (يفتح في نافذة جديدة)numpy.org
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
