pythonxgboost输出变量重要性_XGBoost特征重要性以及CV 1 feature importance
gradient boosting 有⼀个优点是可以给出训练好的模型的特征重要性,这样就可以知道哪些变量需要被保留,哪些可以舍弃。
⾸先要进⼊两个类:
from xgboost import plot_importance
from matplotlib import pyplot
脚掌疼是怎么回事然后在model fit后⾯添加打印或绘制特征重要性:
model.fit(X, y)
plot_importance(model)
pyplot.show()鱼丸汤的家常做法
2 参数优化
XGBoost中提供GridSearchCV⽅法来对⼀些重要的超参进⾏调整,例如:
创建文明校园
learning_rate
tree_depth
subsample
n_estimators
给女朋友的保证书
max_depth
圣诞节礼品当然,⼤多时候学习率的⼤⼩⼀定程度上很影响模型的稳定性,学习率较⼩容易过拟合,学习率较⼤⼜容易⽋拟合,所以很多时候都会先考虑对学习率进⾏调整。
一以贯之的近义词
引⼊如下两个类:
del_lection import GridSearchCV
del_lection import StratifiedKFold
将要尝试的学习率的值放在⼀个list中即可:
learning_rate = [0.005, 0.001, 0.01, 0.1, 0.2, 0.3]
孩子腿疼是什么原因
model = XGBClassifier()
learning_rate = [0.005, 0.001, 0.01, 0.1, 0.2, 0.3]
param_grid = dict(learning_rate=learning_rate)
kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=7)
黑板报花纹
grid_arch = GridSearchCV(model, param_grid, scoring="neg_log_loss", n_jobs=-1, cv=kfold)
grid_result = grid_arch.fit(X, Y)