Я хочу получить rmse в этом коде, но единственное, что я могу сделать, - это двоичная классификация, и это означает, что я не могу получить rmse, потому что это метрика при выполнении регрессии.Вот воспроизводимый код.
library(caret)
library(xgboost)
data(agaricus.train, package = "xgboost")
data(agaricus.test, package = "xgboost")
train<- agaricus.train
test<- agaricus.test
#####################Train Model############################
train$label <- ifelse(train$label == 0, "no", "yes") #convert target to character or factor
xgb_grid_1 <- expand.grid(
nrounds = c(2:5),
eta = seq(0,1,0.2),
max_depth = c(2:5),
gamma = seq(0,1,0.2),
colsample_bytree = 1,
min_child_weight = 1,
subsample = 1
)
xgb_trcontrol_1 <- trainControl(
method = "cv",
number = 5,
verboseIter = TRUE,
returnData = FALSE,
returnResamp = "all",
classProbs = TRUE,
summaryFunction = twoClassSummary # I need to change this line to get regression socre
)
xgb_train1 <- caret::train(
x = as.matrix(train$data),
y = train$label,
trControl = xgb_trcontrol_1,
tuneGrid = xgb_grid_1,
metric = "ROC", # I want to get rmse instead of ROC
method = "xgbTree"
)
Что мне делать в этом коде, чтобы получить rmse?