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

plot_importance(xgboost_model)
pyplot.show()


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

如何分别绘制重要性指标的增长,覆盖率和权重?

我正在使用python 3.7

最佳答案

您可以将不同的重要性类型传递给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)


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

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

关于python - 绘制增益,覆盖率,权重以获取XGBoost模型的功能重要性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58149503/

10-12 22:43