如何在R中查看更多数据

时间:2013-12-10 18:49:01

标签: r cross-validation r-caret

这可能是一个愚蠢的问题,但我对我的数据执行了SVM,并且当C = 0.5时,模型的最佳拟合出现,因为它提供了最佳的RMSE值。哪个好。我通过以下方式对其进行了10次交叉折叠验证: -

ctrl <- trainControl(method = "repeatedcv", repeats = 10, savePred = T)
model <- train(RT..seconds.~., data=lipids, method = "lmStepAIC", trControl = ctrl)

我希望能够像执行此功能时那样查看所有预测值和观察值的值: -

model$pred

但它打印出所有不同C值(其中三个)的所有折叠和重复,这些不完全适合R的屏幕。

我有没有办法修改这个函数,以便它只打印10个重复中每个折叠的预测结果,当C等于0.5时?

这样的事情: -

      pred     obs rowIndex   .C     Resample
1 5011.101 5043.84        7 0.25 Fold01.Rep01
2 5120.894 5137.26        8 0.25 Fold01.Rep01
3 4915.161 5099.54       16 0.25 Fold01.Rep01
4 2778.198 2648.83       44 0.25 Fold01.Rep01
5 2894.722 2748.75       62 0.25 Fold01.Rep01
6 3334.751 3040.00       63 0.25 Fold01.Rep01

但只是当.C为0.5时,就像它打印的那一刻.C也是0.25和1

由于

1 个答案:

答案 0 :(得分:0)

您想查看best中的oneSEcaret功能。

我认为让它返回“最佳”的最简单方法是修改上面的例子......

model <- train(RT..seconds.~., data=lipids, method = "lmStepAIC", trControl = ctrl, selectionFunction= "best")

这应该适用于您的示例(我希望),因为best默认参数只是具有“最佳”RMSE的模型 - 更复杂的是:help(oneSE)