【问题标题】:How to plot top k variables by variables importance of xgboost in python?如何通过python中xgboost的变量重要性绘制前k个变量?
【发布时间】:2019-06-11 03:13:24
【问题描述】:

在 python 中,如何按变量的重要性绘制前 k 个变量?

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

但是,我有 3000 多个特征,我不想全部绘制出来;我只关心影响力最大的前 100 个变量。

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

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

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

【问题讨论】:

    标签: python variables xgboost


    【解决方案1】:

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

    来自the documentation

    max_num_features (int, default None) – top features 的最大数量 显示在情节上。如果没有,将显示所有功能。

    所以像这样使用它:

    xgb.plot_importance(..., ..., ..., max_num_features = 100)
    

    【讨论】:

      猜你喜欢
      • 2019-01-25
      • 1970-01-01
      • 2018-03-10
      • 2015-05-23
      • 2015-12-23
      • 2018-06-11
      • 2019-10-11
      • 2020-11-08
      • 1970-01-01
      相关资源
      最近更新 更多