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

时间:2015-09-21 18:10:49

标签: r r-caret

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

nnet<-predict(my_model, newdata = my_new_data) 
nnet
[1] -0.1468207

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

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.

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

EG。这些方面的东西:

Model_RMSE<-nnet$finalModelRMSE
Model_RMSE
[1] 0.01795350

谢谢

*更新 谢谢@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

2 个答案:

答案 0 :(得分:4)

已经有一个名为getTrainPerf的功能。

最高

答案 1 :(得分:0)

很高兴评论有所帮助。如果您想要结果中的完整行,这可能很有用。

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