有诸如h2o.logloss
和h2o.residual_deviance
之类的访问器,但我希望得到惩罚的可能性,这是在训练过程中优化的值。有没有一种方法可以访问此值而无需手动重新计算?
答案 0 :(得分:0)
是的,您可以从得分历史记录表h2o.scoreHistory(model)
中获得此信息,这将为您提供以下信息:
Scoring History:
timestamp duration iterations negative_log_likelihood objective
1 2019-03-19 11:58:57 0.000 sec 0 509.21546 1.34004
2 2019-03-19 11:58:58 0.053 sec 1 489.50869 1.28818
3 2019-03-19 11:58:58 0.073 sec 2 488.06524 1.28438
4 2019-03-19 11:58:58 0.090 sec 3 487.83225 1.28377
5 2019-03-19 11:58:58 0.106 sec 4 487.79622 1.28367
6 2019-03-19 11:58:58 0.116 sec 5 487.78870 1.28365
7 2019-03-19 11:58:58 0.126 sec 6 487.78701 1.28365
8 2019-03-19 11:58:58 0.136 sec 7 487.78659 1.28365
这会在目标列中为您提供负对数可能性和惩罚性负对数可能性。
所以您只需要获取最后一个迭代即可获得感兴趣的值,您可以执行以下操作:
score_table = h2o.scoreHistory(model)
score_table[length(score_table),'objective']
其中model
是您的H2O-3模型对象。