我正在使用 H2O (Python) 进行实验,使用
如何获取最佳模型的 lambda 值? 编辑: 完全可复现的示例
数据:
请将此文件命名为
然后运行:
最后两个命令失败了,给我错误提示:
H2OGridSearch
来寻找 GLM (H2OGeneralizedLinearEstimator
) 的 alpha 值,同时使用 k-fold 交叉验证中的 lambda_search=True
。如何获取最佳模型的 lambda 值? 编辑: 完全可复现的示例
数据:
34.40 17:1 73:1 127:1 265:1 912:1 1162:1 1512:1 1556:1 1632:1 1738:1
205.10 127:1 138:1 338:1 347:1 883:1 912:1 1120:1 1122:1 1512:1
7.75 66:1 127:1 347:1 602:1 1422:1 1512:1 1535:1 1738:1
8.85 127:1 608:1 906:1 979:1 1077:1 1512:1 1738:1
51.80 127:1 347:1 608:1 766:1 912:1 928:1 952:1 1034:1 1512:1 1610:1 1738:1
110.00 127:1 229:1 347:1 602:1 608:1 1171:1 1512:1 1718:1
8.90 66:1 127:1 205:1 347:1 490:1 589:1 912:1 1016:1 1512:1
请将此文件命名为
h2o_example.svmlight
。然后运行:
h2o_data = h2o.import_file("h2o_example.svmlight")
cols = h2o_data.columns[1:]
hyper_parameters = {"alpha": [0.0, 0.01, 0.99, 1.0]}
grid = H2OGridSearch(H2OGeneralizedLinearEstimator(family="gamma", link="log", lambda_search=True, nfolds=2, intercept=True, standardize=False),
hyper_params=hyper_parameters)
grid.train(y="C1", x=cols, training_frame=h2o_data)
grid_table = grid.get_grid(sort_by="r2", decreasing=True)
best = grid_table.models[0]
best.actual_params["lambda"]
best.actual_params["alpha"]
最后两个命令失败了,给我错误提示:
TypeError: 'property' object has no attribute '__getitem__'
显然,我在错误地使用lambda_search
。根据我的标准,我如何获得最佳模型的单个alpha和lambda值?