从最优R-Caret模型中提取RMSE

从最优R-Caret模型中提取RMSE,r,r-caret,R,R Caret,我使用插入符号包创建nnet模型,并使用以下代码提取预测值: nnet<-predict(my_model, newdata = my_new_data) nnet [1] -0.1468207 我的问题是如何创建一个仅包含最终模型的最优RMSE的变量?(无需手动检查输出。) 大致如下: Model_RMSE<-nnet$finalModelRMSE Model_RMSE [1] 0.01795350 很高兴这个评论起了作用。如果希望从结果中获得完整的行,这可能很有用 nnet

我使用插入符号包创建nnet模型,并使用以下代码提取预测值:

nnet<-predict(my_model, newdata = my_new_data) 
nnet
[1] -0.1468207
我的问题是如何创建一个仅包含最终模型的最优RMSE的变量?(无需手动检查输出。)

大致如下:

Model_RMSE<-nnet$finalModelRMSE
Model_RMSE
[1] 0.01795350

很高兴这个评论起了作用。如果希望从结果中获得完整的行,这可能很有用

nnet$results[which.min(nnet$results[, "RMSE"]), ]

已经有一个名为
getTrainPerf
的函数来执行此操作


Max

如何
nnet$results[“RMSE”]
。如果这不起作用,那么一个可复制的例子将是有帮助的(并且在任何情况下都是良好的实践),非常感谢Sam Thomas。以上更新。关于可复制示例tooThat的观点看起来很有用,但我无法使其发挥作用;'>nnet$results[which.min(nnet$results[“RMSE”]),]其中的错误.min(nnet$results[“RMSE”]):(list)对象无法强制键入“double”,对此表示抱歉。如果你有兴趣再试一次,我会编辑
nnet$results
是一个data.frame。因此
nnet$results[,“RMSE”]
应该返回名为
RMSE
的列,这给了我
[1]0.01817819 0.02303919 0.01784826 0.02292240 0.01749456 0.02260340
。我真的只需要选择最低的值,但非常感谢Max.
>getTrainPerf(nnetFit)TrainRMSE TrainRsquared method 1 0.01749052 0.5415966 nnet
>nnet$results["RMSE"]
        RMSE
1 0.01867841
2 0.02349088
3 0.01826047
4 0.02348553
5 0.01795350
6 0.02318972

>min(nnet$results["RMSE"])
[1] 0.0179535
nnet$results[which.min(nnet$results[, "RMSE"]), ]