首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在python中根据xgboost的变量重要性来绘制前k个变量?

如何在python中根据xgboost的变量重要性来绘制前k个变量?
EN

Stack Overflow用户
提问于 2018-04-27 14:50:56
回答 1查看 1.2K关注 0票数 0

在python中,如何根据variableI重要性绘制前k个变量?

当我使用xgb.plot_importance时,它总是绘制在模型中训练的所有变量。

然而,我有3000多个特征,我不想把它们都画出来;我只关心影响最大的100个变量。

我知道我可以从xgb_model.get_score()中提取变量重要性,它返回一个存储对(特征,重要性)的字典。也许这就是我可以从字典中提取前k个重要变量的方向。

但我不知道如何创建具有相同样式的图片(直方图),如果我根据前k个字典手动绘制的话,xgb.plot_importance会这样做。

或者,有没有什么方法可以根据xgboost内置API绘制出前k个变量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-27 16:09:51

只需在xgb.plot_importance()中使用'max_num_features'参数。

来自the documentation

顶部特征(

max_num_features ) (int,缺省为无)-在绘图上显示的顶部特征的最大数目。如果没有,则将显示所有要素。

所以像这样使用它:

代码语言:javascript
复制
xgb.plot_importance(..., ..., ..., max_num_features = 100)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50056855

复制
相关文章

相似问题

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