在 R 的 H2O 深度学习中以编程方式访问 MSE
Programmatically access MSE in R's H2O Deeplearning
我正在使用 R 中的当前版本的 H2O 并遵循 "deeplearning" example 一定是用早期版本创建的。
我在改编旧示例代码时遇到的一个挑战是,我无法以编程方式访问像 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
我正在使用 R 中的当前版本的 H2O 并遵循 "deeplearning" example 一定是用早期版本创建的。
我在改编旧示例代码时遇到的一个挑战是,我无法以编程方式访问像 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