開始使用免費開始

建立交叉驗證計畫

實作 n 折交叉驗證的方法有好幾種。在這個練習中,你會使用 vtreat::kWayCrossValidation() 來建立一個這樣的計畫,並加以檢視。

kWayCrossValidation() 會用以下的呼叫方式建立交叉驗證計畫:

splitPlan <- kWayCrossValidation(nRows, nSplits, dframe, y)

其中,nRows 是要分割的資料列數,nSplits 是想要的交叉驗證折數。

嚴格來說,dframey 並不會被 kWayCrossValidation 使用;它們存在是為了和其他 vtreat 的資料分割函式相容。你可以把兩者都設為 NULL

產生的 splitPlan 是一個包含 nSplits 個元素的清單;每個元素包含兩個向量:

  • train:形成訓練集的 dframe 索引
  • app:形成測試(或應用)集的 dframe 索引

在這個練習中,你會為資料集 mpg 建立一個 3 折交叉驗證計畫。

本練習屬於課程

R 中的監督式學習:回歸

檢視課程

練習說明

  • 載入套件 vtreat
  • 取得 mpg 的列數並指定給變數 nRows
  • 呼叫 kWayCrossValidation 建立 3 折交叉驗證計畫,並指定給變數 splitPlan
    • 你可以把該函式的最後兩個引數設為 NULL
  • 呼叫 str() 檢視 splitPlan 的結構。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Load the package vtreat
___

# mpg is available
summary(mpg)

# Get the number of rows in mpg
nRows <- ___

# Implement the 3-fold cross-fold plan with vtreat
splitPlan <- ___

# Examine the split plan
___
編輯並執行程式碼