Клей и For для многих моделей с Automl - R - PullRequest
1 голос
/ 21 сентября 2019

Я хочу воспроизвести этот код:

X_train_model1 <- data.table::fread("datasets_atualizados/dataset_y1.csv") %>% 
  h2o::as.h2o()

X_train_model2<- data.table::fread("datasets_atualizados/dataset_y2.csv") %>% 
  h2o::as.h2o()

#Model construction (20 different models)
model_automl <- h2o.automl(x = 1:11, y = 12, training_frame = X_train_model1,
                max_models = 20, seed = 1)

# Save the model
# In this case the leaderboard model is StackedEnsemble_AllModels
model_path <- h2o.saveModel(object = model_automl@leader, path = "models", force=TRUE)

Выглядит так:

for (i in 1:2) {

  #Exec the model
  model_automl <- h2o.automl(x = 1:11, y = 12, training_frame = glue::glue("X_train_model", {i}),
                               max_models = 20, seed = 1)
  #Saving the model
  h2o.saveModel(object = model_automl@leader, 
                path = paste0("models", i),
                force=TRUE)
}

Я искренне уже пробовал разные формы, но я не заканчиваю этот код.Вы можете мне помочь?

1 Ответ

0 голосов
/ 22 сентября 2019

Я думаю, {i} находится в неправильном месте в вашем коде, должно быть внутри строки:

for (i in 1:2) {

  #Exec the model
  model_automl <- h2o.automl(
    x = 1:11, 
    y = 12, 
    training_frame = get(glue::glue("X_train_modelo{i}")),
    max_models = 20, 
    seed = 1
  )

  #Saving the model
  h2o.saveModel(object = model_automl@leader, 
                path = paste0("models", i),
                force=TRUE)
}

Я понимаю, что у вас есть несколько X_train_modelo объектов, поэтому вам нужно будет использовать get() чтобы ссылаться на них по имени.

...