開始使用免費開始

5 折交叉驗證

在本課程中,你會使用各式各樣的資料集,來體驗 caret 套件的高度彈性。這裡你會使用知名的 Boston 房價資料集,目標是預測波士頓各郊區的房價中位數。

你可以沿用上一個練習的程式碼,只需要把模型使用的資料集換掉即可:

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

接著,你可以把交叉驗證的折數從 10 改成 5,只要在 trainControl()number 參數設定為 5:

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

本練習屬於課程

使用 R 的 caret 進行 Machine Learning

檢視課程

練習說明

  • 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
編輯並執行程式碼