البرمجة

استخراج أهمية السمات في XGBoost

تبدو المشكلة التي تواجهها مرتبطة بالاستخدام الخاطئ لميزة استخراج أهمية السمات في مكتبة XGBoost. في الواقع، يجب استخدام الكائن Booster لاسترجاع أهمية السمات، لا XGBClassifier مباشرة.

بدلاً من استخدام fit.feature_importances_، يمكنك استخدام الكود التالي لاسترداد أهمية السمات:

python
feature_importances = fit.get_booster().get_fscore()

وهنا تجد أن feature_importances هو قاموس يحتوي على اسماء السمات واهميتها.

المزيد من المعلومات

طبقًا للمستندات الرسمية لمكتبة XGBoost، يمكن استخدام الكائن Booster لاسترجاع أهمية السمات. يمكن الوصول إلى Booster من خلال XGBClassifier بعد تدريب النموذج.

للقيام بذلك، يمكنك استخدام الكود التالي:

python
import xgboost as xgb # تدريب النموذج xgb_model = xgb.XGBClassifier() xgb_model.fit(X, Y) # استرداد أهمية السمات feature_importances = xgb_model.get_booster().get_fscore() # طباعة أهمية السمات for feature, importance in feature_importances.items(): print(f"Feature: {feature}, Importance: {importance}")

هذا الكود يقوم بطباعة أهمية كل سمة في النموذج الخاص بك.

زر الذهاب إلى الأعلى