Я пытаюсь повторить этот метод, используя другой набор данных в R.
https://www.kaggle.com/btyuhas/bayesian-optimization-with-xgboost
В моих данных отсутствуют значения, но нет значений Inf.Тем не менее он выдает сообщение об ошибке:
Ошибка в xgb.iter.update (fd $ bst, fd $ dtrain, итерация - 1, obj): некоторые конечные символы не могут быть проанализированы: «Inf»
Время остановилось на: 0,39 0,19 0,58
Я искал в Интернете, но не мог найти соответствующие ответы.
Спасибо!
dtrain = xgb.DMatrix(data = as.matrix(x_train), label=y_train)
dtest = xgb.DMatrix(as.matrix(x_test))
xgb_evaluate = function(max_depth, gamma, colsample_bytree){
params = list(max_depth = max_depth,
subsample = 0.8,
eta = 0.1,
gamma = gamma,
colsample_bytree = 0.3,
eval_metric = "rmse")
# Used around 1000 boosting rounds in the full model
cv_result = xgb.cv(params, dtrain, nround=100, nfold=3)
# Bayesian optimization only knows how to maximize, not minimize, so return the negative RMSE
return (-1.0 *tail(xgboostModelCV$evaluation_log$test_rmse_mean, 1))
}
xgb_bo = BayesianOptimization(xgb_evaluate,
bounds = list(max_depth = c(4L, 6L),
gamma = c(0, 1),
colsample_bytree = c(0.3, 0.9)),
n_iter = 20)