首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XGBoost -使用XGBRegressor进行特征选择

XGBoost -使用XGBRegressor进行特征选择
EN

Stack Overflow用户
提问于 2017-06-22 12:49:17
回答 2查看 2.3K关注 0票数 0

我试图通过XGBRegressor()执行特性选择(用于回归任务)。

更确切地说,我想知道:

  • 如果有类似于feature_importances_的方法,与XGBClassifier一起使用,我可以用于回归。
  • 如果XGBoost的方法plot_importance()XGBRegressor()一起使用时是可靠的
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-25 18:15:33

最后,我通过以下方式解决了这一问题:

model.booster().get_score(importance_type='weight')

票数 1
EN

Stack Overflow用户

发布于 2017-12-19 13:20:10

以下是我的解决方案(Xname指的是功能名称):

代码语言:javascript
复制
def xgb_feature_importance(model_xgb, fnames=None):
    b = model_xgb.booster()
    fs = b.get_fscore()
    all_features = [fs.get(f, 0.) for f in b.feature_names]
    all_features = np.array(all_features, dtype=np.float32)
    all_features_imp = all_features / all_features.sum()
    if fnames is not None:
        return pd.DataFrame({'X':fnames, 'IMP': all_features_imp})
    else:
        return all_features_imp
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44699889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档