Ich versuche, XGBOOST-Modell auf Multiclass-Vorhersage Problem anzupassen, und wollte caret
zu Hyperparameter-Suche verwenden. das Paket zu testen, ich den folgenden Code verwendet, und es dauert dauert 20 Sekunden, wenn ich train
Objekt mit trainControlWarum wird "xgbTree" in caret so langsam mit trainControl verwendet?
# just use one parameter combination
xgb_grid_1 <- expand.grid(
nrounds = 1,
eta = 0.3,
max_depth = 5,
gamma = 0,
colsample_bytree=1,
min_child_weight=1
)
# train
xgb_train_1 = train(
x = as.matrix(sparse_train),
y = conversion_tbl$y_train_c ,
trControl = trainControl(method="none", classProbs = TRUE, summaryFunction = multiClassSummary),
metric="logLoss",
tuneGrid = xgb_grid_1,
method = "xgbTree"
)
jedoch nicht liefern, wenn ich train
mit einem trainControl Objekt liefern, wird der Code nie finished..or eine lange Zeit (zumindest kraft es Ziel für 15 Minuten.
xgb_trcontrol_1 <- trainControl(
method = "cv",
number = 2,
verboseIter = TRUE,
returnData = FALSE,
returnResamp = "none",
classProbs = TRUE,
summaryFunction = multiClassSummary
)
xgb_train_1 = train(
x = as.matrix(sparse_train),
y = conversion_tbl$y_train_c ,
trControl = xgb_trcontrol_1,
metric="logLoss",
tuneGrid = xgb_grid_1,
method = "xgbTree"
)
Warum ist das?
FYI, meine Datengröße
dim(sparse_train)
[1] 702402 36
Haben Sie ein reproduzierbares Beispiel? –