开始使用免费开始使用

5 折交叉验证

在本课程中,您将使用多种数据集来体验 caret 包的强大与灵活性。这里,您将使用著名的 Boston 房价数据集,目标是在不同波士顿郊区中预测房屋的中位数价格。

您可以复用上一练习的代码,只需将模型使用的数据集替换为:

model <- train(
  medv ~ ., 
  Boston, # <- new!
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = 10,
    verboseIter = TRUE
  )
)

接下来,您可以通过在 trainControl()number 参数中设置为 5,将交叉验证折数从 10 减少为 5:

trControl = trainControl(
  method = "cv", 
  number = 5,
  verboseIter = TRUE
)

本练习是课程的一部分

在 R 中使用 caret 的机器学习

查看课程

练习说明

  • 拟合一个针对 Boston 房价数据集的 lm() 模型,使 medv 为响应变量,其他所有变量为解释变量。
  • 使用 5 折交叉验证,而不是 10 折交叉验证。
  • 将模型打印到控制台并检查结果。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Fit lm model using 5-fold CV: model
model <- train(
  ___, 
  ___,
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = ___,
    verboseIter = TRUE
  )
)

# Print model to console
编辑并运行代码