建立交叉驗證計畫
實作 n 折交叉驗證的方法有好幾種。在這個練習中,你會使用 vtreat::kWayCrossValidation() 來建立一個這樣的計畫,並加以檢視。
kWayCrossValidation() 會用以下的呼叫方式建立交叉驗證計畫:
splitPlan <- kWayCrossValidation(nRows, nSplits, dframe, y)
其中,nRows 是要分割的資料列數,nSplits 是想要的交叉驗證折數。
嚴格來說,dframe 和 y 並不會被 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
___