开始使用免费开始使用

5 x 5 折交叉验证

交叉验证可以不止运行一次。重复交叉验证能更好地估计测试集误差。您还可以重复整个交叉验证流程。这样会更耗时,但能生成更多的样本外数据集可供评估,并更精确地衡量模型表现。

carettrain() 函数的强大之处之一,是只需调整几个简单参数,就能轻松运行不同的模型或不同的交叉验证方式。例如,您可以将整个交叉验证流程重复 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
编辑并运行代码