開始使用免費開始

5 x 5 折交叉驗證

交叉驗證不必只做一次迭代。重複交叉驗證能更好地估計測試集誤差。你也可以重複整個交叉驗證流程。這會花更久時間,但能產生更多可用的樣本外資料集,並更精確地評估模型表現。

carettrain() 函式很棒的一點,是只要在呼叫時調整幾個簡單的參數,就能輕鬆執行不同的模型或不同的交叉驗證方法。例如,你可以將整個交叉驗證流程重複 5 次,以提升對模型樣本外準確度估計的信心,例如:

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

本練習屬於課程

使用 R 的 caret 進行 Machine Learning

檢視課程

練習說明

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