绘制XGBoost模型特征重要性的增益、覆盖率和权重

我有一个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 = 15importance_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()

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注