R找不到H2o对象H2OKeyNotFoundArgumentException

时间:2018-08-14 17:44:04

标签: r h2o

R版本: R版本3.5.1(2018-07-02)

H2O群集版本: 3.20.0.2

此处使用的数据集可在Kaggle(房屋信用风险)上获得。在使用h2o automl之前,已经对缺失值和相关分类变量进行了必要的处理。您能协助我找出导致此错误的根本原因吗? 谢谢

代码:

.sql

2 个答案:

答案 0 :(得分:2)

这里的问题是,您只给了AutoML 90秒的运行时间,因此甚至没有时间来训练一个模型。在下一个稳定的H2O版本中,错误消息将消失,而您将仅获得一个没有行的排行榜(我们正在对此进行修复,以便更优雅地处理它)。

您可以使用更大的值(而不是使用max_runtime_secs = 90)(默认值为3600秒或1小时)。或者,您可以指定所需的模型数量,而不是通过设置max_models = 20来指定。

如果您确实使用max_models,建议您将max_runtime_secs设置为较大的值(例如999999999),以免浪费时间。当到达max_modelsmax_runtime_secs的第一个时,AutoML进程将停止。

我发布了类似的答案here

答案 1 :(得分:0)

我的代码运行正常,然后对其进行了调整,并得到了相同的错误。

要解决此问题,请使用automl_models_h2o@leader保存领导者,而不是使用h2o.getModel()来保存领导者的预测/表现。

更改您的automl_leader初始化:

...

# get model name from list
automl_models_h2o@leaderboard 

# change MODEL_NAME_HERE to a model name from your leaderboard list.
automl_leader <- h2o.getModel("MODEL_NAME_HERE") 

performance_h2o <- h2o.performance(automl_leader, newdata = test_h2o)

...