从最佳R Caret模型中提取胜出的RMSE

use*_*289 2 r r-caret

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

nnet<-predict(my_model, newdata = my_new_data) 
nnet
[1] -0.1468207
Run Code Online (Sandbox Code Playgroud)

我还创建以下输出,从而可以查看最佳模型参数,如下所示:

Resampling results across tuning parameters:

  size  decay  RMSE        Rsquared   RMSE SD      Rsquared SD
  10    0.001  0.01867841  0.4789708  0.002538599  0.12778927 
  10    0.100  0.02349088  0.1233067  0.001859455  0.10188046 
  12    0.001  0.01826047  0.5059824  0.002630588  0.12962511 
  12    0.100  0.02348553  0.1238252  0.001890646  0.09851303 
  15    0.001  0.01795350  0.5289120  0.003021449  0.13908835 
  15    0.100  0.02318972  0.1429446  0.001932714  0.11156927 

RMSE was used to select the optimal model using  the smallest value.
The final values used for the model were size = 15 and decay = 0.001.
Run Code Online (Sandbox Code Playgroud)

我的问题是如何创建一个仅包含最终模型中最佳RMSE的变量?(而不是必须手动检查输出。)

例如。遵循以下原则:

Model_RMSE<-nnet$finalModelRMSE
Model_RMSE
[1] 0.01795350
Run Code Online (Sandbox Code Playgroud)

谢谢

*更新感谢@SamThomas就是这样。实际上,我只想要“获胜/最佳”二手模型中的RMSE,因此我将您的建议包装在min()中,如下所示。

>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
Run Code Online (Sandbox Code Playgroud)

top*_*epo 5

已经有一个函数可以执行此操作getTrainPerf

最高