Xgboost: هل من الضروري التخلص من الميزات غير المجدية في مهمة التصنيف في xgboost؟

تم إنشاؤها على ١٤ مارس ٢٠١٧  ·  3تعليقات  ·  مصدر: dmlc/xgboost

لدي أكثر من 650 ميزة وأنا أستخدم xgboost لترتيب أهمية هذه الميزات. الوظيفة هي get_score () والتي تُرجع حدوث المعالم عند بناء الأشجار.

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

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

التعليق الأكثر فائدة

في معظم خوارزميات التعلم الآلي ، من المهم إجراء اختيارات للميزات لتجنب الإفراط في التركيب.

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

بالنسبة لسؤالك الثاني ، لا توجد طريقة واحدة فقط للجمع بين المتعلمين الضعفاء لتحقيق نتائج جيدة. ومع ذلك ، للحصول على مجموعات مختلفة (وميزات مختلفة من حيث الأهمية) ، يجب أن تستخدم بعض العشوائية أثناء عملية التدريب مثل العينة الفرعية ، وميزات الحد الأقصى ... والاحتمال الآخر هو أن لديك ميزات زائدة عن الحاجة. يجب عليك التحقق من العلاقة بينهما.

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

ال 3 كومينتر

في معظم خوارزميات التعلم الآلي ، من المهم إجراء اختيارات للميزات لتجنب الإفراط في التركيب.

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

بالنسبة لسؤالك الثاني ، لا توجد طريقة واحدة فقط للجمع بين المتعلمين الضعفاء لتحقيق نتائج جيدة. ومع ذلك ، للحصول على مجموعات مختلفة (وميزات مختلفة من حيث الأهمية) ، يجب أن تستخدم بعض العشوائية أثناء عملية التدريب مثل العينة الفرعية ، وميزات الحد الأقصى ... والاحتمال الآخر هو أن لديك ميزات زائدة عن الحاجة. يجب عليك التحقق من العلاقة بينهما.

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

شكرا. لقد أزلت ما يقرب من 150 ميزة غير مهمة. لكن auc من التجربة الجديدة لم يتغير. لذلك لم أجد أي فائدة من إزالتها.

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

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

RanaivosonHerimanitra picture RanaivosonHerimanitra  ·  3تعليقات

matthewmav picture matthewmav  ·  3تعليقات

vkuznet picture vkuznet  ·  3تعليقات

lizsz picture lizsz  ·  3تعليقات

colinsongf picture colinsongf  ·  4تعليقات