如何使用xgboost.XGBCClassifier.feature_importances_模型画图?(Matplotlib)
要改变 xgboost.plot_importance 中图的大小,可以执行以下步骤−
- 设置图的大小并调整子图之间和周围的填充。
- 从 csv 文件中加载数据。
- 从已加载的数据集中获取 x 和 y 的数据。
- 获取 xgboost.XGBCClassifier.feature_importances_ 模型实例。
- 将 x 和 y 数据放入模型中。
- 打印模型。
- 制作条形图。
- 使用 show() 方法显示图像。
例子
from numpy import loadtxt
from xgboost import XGBClassifier
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
#数据集 data.csv 包含数据如 -> 13, 145, 82, 19, 110, 22.2, 0.245, 57, 0
dataset = loadtxt('data.csv', delimiter=",")
X = dataset[:, 0:8]
y = dataset[:, 8]
model = XGBClassifier()
model.fit(X,y)
print(model.feature_importances_)
plt.bar(range(len(model.feature_importances_)), model.feature_importances_)
plt.show()
输出
[13:46:53] WARNING: ../src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'binary:logistic' was changed from 'error' to 'logloss'. Explicitly set eval_metric if you'd like to restore the old behavior.
[0.10621197 0.2424023 0.08803366 0.07818192 0.10381887 0.1486732
0.10059207 0.13208601]