无法在 automl() 用例中加载非获胜模型

Unable to load non-winning models in automl() use case

我正在使用 automl 函数和下面显示的代码片段

h2o.init()
h2o_train = as.h2o(train)
h2o_test = as.h2o(test)
aml <- h2o.automl(x=x, y=y, training_frame=h2o_train, leaderboard_frame=h2o_test)
print(aml@leaderboard)  # view top models
print(getParms(aml@leader))  #  get related info for top1 model 

看完文档后,我找不到如何加载其他模型的结果,排行榜显示他们的model_id。如果我们可以加载这些模型,或者至少可以看到它们的参数,那将很有价值。

您可以使用以下方法获取所有模型 ID 的列表:

> aml@leaderboard 

注意输出如下:

                                               model_id      auc  logloss
1    DeepLearning_grid_0_AutoML_20171205_070022_model_1 0.808806 0.536941
2             GLM_grid_0_AutoML_20171205_070022_model_0 0.808672 0.524783
3 StackedEnsemble_BestOfFamily_0_AutoML_20171205_070022 0.797148 0.541090
4    DeepLearning_grid_0_AutoML_20171205_070022_model_2 0.793247 0.654405
5    StackedEnsemble_AllModels_0_AutoML_20171205_070022 0.788943 0.545078
6                 DeepLearning_0_AutoML_20171205_070022 0.783562 0.570281

之后,您可以使用 h2o.getModel() API 获得以下任何模型:

> aml6 = h2o.getModel("DeepLearning_0_AutoML_20171205_070022")
> aml6

以上内容将使您能够从 AML 排行榜访问 model = 6。一旦您可以使用来自 getModel() API 的 model_id 访问模型,任何 H2O 模型 API 都将起作用。

要获得任何模型,您都可以做到 m <- h2o.getModel(model_id)model_id 可以是排行榜中的任何模型 ID。

要查看非默认参数列表,您可以执行 h2o.getModel(model_id)@parametersh2o.getModel(model_id)@allparameters 以查看所有参数,包括默认值。

希望对您有所帮助。

-Navdeep