如何从h2o automl中保存所有模型

7

我正在尝试保存h2o包中的一个h2o.automl中的所有模型。目前,我可以使用h2o.saveModel(aml@leader, path = "/home/data/user")保存单个模型。

如何保存所有模型?

以下是我在样本数据集上的尝试:

 library(h2o)
 h2o.init()
 prostate.hex <- h2o.importFile(path = paste("https://raw.github.com",
    "h2oai/h2o-2/master/smalldata/logreg/prostate.csv", sep = "/"),
    destination_frame = "prostate.hex")

从Github获取数据或通过readr导入数据:
 library(readr)
 prostate <- read_csv("/home/data/user/prostate.csv")

 prostate.hex<- as.h2o(prostate, "prostate.hex")

 aml <- h2o.automl(y = "CAPSULE", x = c("AGE","RACE","PSA","DCAPS"),
    training_frame = prostate.hex,
    max_runtime_secs = 180,
    exclude_algos = c("StackedEnsemble")
    )

现在,我正在尝试将模型保存在aml中:

mod_ids <- as_tibble(aml@leaderboard$model_id)

现在我无法弄清楚如何保存模型:

 for(i in 1:nrow(mod_ids)) {
   print(mod_ids[i,])
   #h2o.saveModel(object = aml@leaderboard[[i]], "/home/data/user/")
 }

这是我尝试过的内容:

自动机器学习教程

H2O AUTOML:如何保存、重复使用和在现有自动机器学习模型基础上构建模型

1个回答

8

试一下这个,它能完成你的工作:

 for(i in 1:nrow(mod_ids)) {

    aml1 <- h2o.getModel(aml@leaderboard[i, 1]) # get model object in environment
    h2o.saveModel(object = aml1, "C:/Users/sm/Documents/stack/models") # pass that model object to h2o.saveModel as an argument

  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接