采用xgboost包构建xgboost模型有一个比较棘手问题在于构建xgb.DMatrix数据,同时为了应用提前终止策略需要构建watchlist,以下代码从数据准备部分开始对上面两部分内容均有覆盖,大家可以参考使用。
# 数据准备
colnames(boston)
# 训练集
dvfunc <- dummyVars(~., data = data_train[, 1:13], fullRank = T)
data_trainx <- predict(dvfunc, newdata = data_train[, 1:13])
data_trainy <- data_train$medv
# 验证集
data_validx <- predict(dvfunc, newdata = data_valid[, 1:13])
data_validy <- data_valid$medv
# 测试集
data_testx <- predict(dvfunc, newdata = data_test[, 1:13])
data_testy <- data_test$medv
# 构建xgb.DMatrix格式数据
dtrain <- xgb.DMatrix(data = data_trainx, label = data_trainy)
dvalid <- xgb.DMatrix(data = data_validx, label = data_validy)
dtest <- xgb.DMatrix(data = data_testx, label = data_