前文回顾:
在Python中开始使用 XGBoost的7步迷你课程
第 01 课:梯度提升简介
第 02 课:XGBoost 简介
第 03 课:开发您的第一个 XGBoost 模型
第 04 课:监控表现和提前停止
使用诸如梯度提升之类的决策树方法的集合的好处是它们可以从训练的预测模型自动提供特征重要性的估计。 经过训练的 XGBoost 模型可自动计算预测建模问题的特征重要性。 这些重要性分数可在训练模型的 feature_importances_ 成员变量中找到。例如,它们可以直接打印如下:
1print(model.feature_importances_)
XGBoost 库提供了一个内置函数来绘制按其重要性排序的特征。 该函数称为 plot_importance(),可以按如下方式使用:
1plot_importance(model)
2pyplot.show()
这些重要性分数可以帮助您确定要保留或丢弃的输入变量。它们也可以用作自动特征选择技术的基础。
1# plot feature importance using built-in function
2from numpy import loadtxt
3from xgboost import XGBClassifier
4from xgboost import plot_importance
5from matplotlib import pyplot
6# load data
7dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",")
8# split data into X and y
9X = dataset[:,0:8]
10y = dataset[:,8]
11# fit model on training data
12model = XGBClassifier()
13model.fit(X, y)
14# plot feature importance
15plot_importance(model)
16pyplot.show()
在下一课中,我们将研究启发式算法,以便最好地配置梯度提升算法