绘制增益,覆盖率,权重以获取XGBoost模型的功能重要性

时间:2019-09-28 19:12:33

标签: python machine-learning plot xgboost

我有一个XGBoost模型xgboost_model。绘制此XGBoost模型的功能重要性;

plot_importance(xgboost_model)
pyplot.show()

该图显示F分数。但是,还有一些重要指标,例如F分数后面的增益,覆盖率,权重。

如何分别绘制重要性指标的获取,覆盖范围和权重?

我正在使用python 3.7

1 个答案:

答案 0 :(得分:1)

您可以将不同的重要性类型传递给plot_importance

fig, ax = plt.subplots(3,1,figsize=(14,30))

nfeats = 15
importance_types = ['weight', 'cover', 'gain']

for i, imp_i in enumerate(importance_types):
    plot_importance(xgboost_model, ax=ax[i], max_num_features=nfeats
                    , importance_type=imp_i
                    , xlabel=imp_i)

在上面的示例中,您可以构建一个subplot,其中包含3个图,每个图分别表示plot_importance支持的三种类型。

我在jupyter中对此进行了测试。否则,您将致电plt.show()