我试图以不同的方式计算性能,以便现在为模型构建它。
我想在交叉验证期间访问原始预测,因此我可以自己计算性能。
g = h2o.get_grid(grid_id)
for m in g.models:
print "Model %s" % m.model_id
rrc[m.model_id] = m.cross_validation_holdout_predictions()
我可以在我的数据集上使用模型运行预测,但我认为这个测试可能有偏差,因为模型之前已经看过这些数据了吗?我可以对同一数据集进行新的预测并使用它来计算性能吗?
答案 0 :(得分:3)
我想在交叉验证期间访问原始预测,因此我可以自己计算性能。
如果您要在交叉验证的预测上计算自定义指标,请设置keep_cross_validation_predictions = True
,然后您可以使用上面的.cross_validation_holdout_predictions()
方法访问原始预测值。
我可以对同一数据集进行新的预测,并用它来计算性能吗?
听起来您在询问是否只能使用培训数据来估算模型性能?是的,使用交叉验证。如果您设置nfolds > 1
,H2O将执行交叉验证并为您计算一些交叉验证的效果指标。此外,如果您告诉H2O保存交叉验证的预测,您可以计算交叉验证的指标"属于你自己。