我必须使用 LOO 交叉验证来比较不同的模型(OLS、BEST SUBSET、RIDGE、LASSO、PCR 和 PLS)(比较的标准是测试 MSE)。有人可以解释我怎么做(可能使用示例数据集)吗?我需要R代码。谢谢你们!
PS:对不起我的英语,但我会说另一种语言。
好的,我尝试使用“caret”包:
library(ISLR)
library(caret)
library(forecast)
myControl <- trainControl(method='LOOCV')
LM <- train(Salary~., data=Hitters, method=lm,
trControl=myControl)
Step <- train(Salary~., data=Hitters, method='leapSeq',
trControl=myControl)
Ridge <- train(Salary~., data=Hitters, method='ridge',
trControl=myControl)
Lasso <- train(Salary~., data=Hitters, method='lasso',
trControl=myControl)
PLS <- train(Salary~., data=Hitters, method="pls",
trControl=myControl)
PCR <- train(Salary~., data=Hitters, method='pcr',
trControl=myControl)
如何设置参数 lambda、ncomp 和 nvmax?谢谢你们!