【问题标题】:H2OTypeError: 'training_frame' must be a valid H2OFrameH2OTypeError:“training_frame”必须是有效的 H2OFrame
【发布时间】:2020-08-29 07:47:36
【问题描述】:

“运行以下代码后……”

gbm = h2o.get_model(sorted_final_grid.sorted_metric_table()['model_ids'][0])

params = gbm.params
new_params = {"nfolds":5, "model_id":None}
for key in new_params.keys():
    params[key]['actual'] = new_params[key] 
gbm_best = H2OGradientBoostingEstimator()
for key in params.keys():
    if key in dir(gbm_best) and getattr(gbm_best,key) != params[key]['actual']:
        setattr(gbm_best,key,params[key]['actual'])

“我收到以下错误...H2OTypeError: 'training_frame' 必须是有效的 H2OFrame!

这是一个有效的 H2OFrame,因为我不仅使用 import_file 导入,而且还成功运行了所有 GBM超参数调优代码,直到我遇到这个错误。

我正在使用 Python 3.6。我一直在关注这个特别的笔记本https://github.com/h2oai/h2o-3/blob/master/h2o-docs/src/product/tutorials/gbm/gbmTuning.ipynb"

【问题讨论】:

  • 请参阅有关如何创建最小可重现示例的信息,并更新您的帖子以包含代码,谢谢!:stackoverflow.com/help/minimal-reproducible-example 如果您可以从笔记本代码中删除所有额外的、非必要的代码并粘贴在这里,那就太好了。

标签: python-3.x h2o


【解决方案1】:

您需要在new_params 中将training_framevalidation_frame 设置为None。尝试使用下面的代码,看看是否有帮助。

gbm = h2o.get_model(sorted_final_grid.sorted_metric_table()['model_ids'][0])

params = gbm.params
new_params = {"nfolds":5, "model_id":None, "training_frame":None, "validation_frame":None, 
              "response_column":None, "ignored_columns":None}
for key in new_params.keys():
    params[key]['actual'] = new_params[key] 
gbm_best = H2OGradientBoostingEstimator()
for key in params.keys():
    if key in dir(gbm_best) and getattr(gbm_best,key) != params[key]['actual']:
        setattr(gbm_best,key,params[key]['actual']) 

我会更新你提到的教程。

【讨论】:

  • 非常感谢。终于解脱了!!!如果您也更新相应笔记本中的代码,我将不胜感激。
猜你喜欢
  • 2016-03-19
  • 1970-01-01
  • 2011-06-29
  • 2021-07-30
  • 2021-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多