5 x 5 折交叉验证
交叉验证可以不止运行一次。重复交叉验证能更好地估计测试集误差。您还可以重复整个交叉验证流程。这样会更耗时,但能生成更多的样本外数据集可供评估,并更精确地衡量模型表现。
caret 中 train() 函数的强大之处之一,是只需调整几个简单参数,就能轻松运行不同的模型或不同的交叉验证方式。例如,您可以将整个交叉验证流程重复 5 次,以更有把握地估计模型的样本外准确率,例如:
trControl = trainControl(
method = "repeatedcv",
number = 5,
repeats = 5,
verboseIter = TRUE
)
本练习是课程的一部分
在 R 中使用 caret 的机器学习
练习说明
- 重新在
Boston房价数据集上拟合线性回归模型。 - 使用 5 次重复的 5 折交叉验证。
- 将模型打印到控制台。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Fit lm model using 5 x 5-fold CV: model
model <- train(
medv ~ .,
Boston,
method = "lm",
trControl = trainControl(
method = "repeatedcv",
number = ___,
repeats = ___,
verboseIter = TRUE
)
)
# Print model to console