Есть ли какой-нибудь возможный способ получить 'rmse' в этом коде (набор данных agaricus)? - PullRequest
0 голосов
/ 24 ноября 2018

Я хочу получить 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...