"运行以下代码后..."
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。 "
你需要设置 training_frame
和 validation_frame
到 None
在 new_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'])
我会把你提到的教程更新一下。