Rのキャレットパッケージを使用してパラメーターを調整しようとしていますが、
Error in train.default(x = as.matrix(df_train %>% select(-c(Response, :
The tuning parameter grid should have columns nrounds, lambda, alpha
列nrounds、lambda、alphaが存在する場合でも、モデルをトレーニングしようとするたびに。
library(caret)
library(xgboost)
library(readr)
library(dplyr)
library(tidyr)
xgb_grid_1 <- expand.grid(
nrounds= 2400,
eta=c(0.01,0.001,0.0001),
lambda = 1,
alpha =0
)
xgb_trcontrol <- trainControl(
method="cv",
number = 5,
verboseIter = TRUE,
returnData=FALSE,
returnResamp = "all",
allowParallel = TRUE,
)
xgb_train_1 <- train(
x = as.matrix(df_train %>% select(-c(Response, Id))),
y= df_train$Response,
trControl = xgb_trcontrol,
tuneGrid = xgb_grid_1,
method="xgbLinear"
)
問題はxgb_grid_1にあります。行etaを削除すると、機能します。
Xgboostとcaretの標準的なチューニングオプションは、「nrounds」、「lambda」、「alpha」です。イータではありません。 modelLookup関数を使用して、使用可能なモデルパラメーターを確認します。 etaも使用する場合は、チューニングでこの追加パラメーターを使用するために、独自のキャレットモデルを作成する必要があります。
modelLookup("xgbLinear")
model parameter label forReg forClass probModel
1 xgbLinear nrounds # Boosting Iterations TRUE TRUE TRUE
2 xgbLinear lambda L2 Regularization TRUE TRUE TRUE
3 xgbLinear alpha L2 Regularization TRUE TRUE TRUE