我在R中使用当前版本的H2O,并遵循一个"深度学习"示例,该示例一定是用早期版本创建的。
在修改旧的示例代码时,我面临的一个挑战是,我无法通过以下代码以编程方式访问交叉验证统计信息,如MSE:
cvmodel@model$valid_sqr_error
在检查H2O模型对象的结构后,我能够在这里找到MSE和其他统计数据:
> cvmodel@model$cross_validation_metrics
H2ORegressionMetrics: deeplearning
** Reported on cross-validation data. **
Description: 3-fold cross-validation on training data
MSE: 39.47373
R2 : 0.03510394
Mean Residual Deviance : 39.47373
但我不知道通过编程只获取其中一个数字的语法:
> cvmodel@model$cross_validation_metrics$MSE
Error in cvmodel@model$cross_validation_metrics$MSE :
$ operator not defined for this S4 class
> cvmodel@model$cross_validation_metrics@MS
Error: no slot of name "MS" for this object of class "H2ORegressionMetrics"
想明白了。我应该检查cross_validation_metrics
:的str()
MSE <- cvmodel@model$cross_validation_metrics@metrics$MSE