H2OTypeError: 'training_frame' 必须是一个有效的H2OFrame。

问题描述 投票:1回答:1

"运行以下代码后..."

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.comh2oaih2o-3blobmasterh2o-docssrcproducttutorialsgbbmTuning.ipynb。 "

python-3.x h2o
1个回答
0
投票

你需要设置 training_framevalidation_frameNonenew_params. 尝试使用下面的代码,看看是否有帮助。

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']) 

我会把你提到的教程更新一下。

© www.soinside.com 2019 - 2024. All rights reserved.