标签:data sof ror 参数说明 als lin 学习 使用 round
1.首先导入包
import xgboost as xgb
2.使用以下的函数实现交叉验证训练xgboost。
bst_cvl = xgb.cv(xgb_params, dtrain, num_boost_round=50,
nfold=3, seed=0, feval=xg_eval_mae, maximize=False, early_stopping_rounds=10)
3.cv参数说明:函数cv的第一个参数是对xgboost训练器的参数的设置,具体见以下
xgb_params = { ‘seed‘: 0, ‘eta‘: 0.1, ‘colsample_bytree‘: 0.5, ‘silent‘: 1, ‘subsample‘: 0.5, ‘objective‘: ‘reg:linear‘, ‘max_depth‘: 5, ‘min_child_weight‘: 3 }
参数说明如下:
4.cv参数说明:dtrain是使用下面的函数DMatrix得到的训练集
dtrain = xgb.DMatrix(train_x, train_y)
5.cv参数说明:feval参数是自定义的误差函数
def xg_eval_mae(yhat, dtrain): y = dtrain.get_label() return ‘mae‘, mean_absolute_error(np.exp(y), np.exp(yhat))
6.cv参数说明:nfold是交叉验证的折数, early_stopping_round是多少次模型没有提升后就结束, num_boost_round是加入的决策树的数目。
7. bst_cv是cv返回的结果,是一个DataFram的类型,其列为以下列组成
标签:data sof ror 参数说明 als lin 学习 使用 round
原文地址:https://www.cnblogs.com/loubin/p/11595348.html