クロスバリデーション計画を作成する
n 分割のクロスバリデーション計画を実装する方法はいくつかあります。この演習では、vtreat::kWayCrossValidation() を使ってそのような計画を作成し、内容を確認します。
kWayCrossValidation() は次の呼び出しでクロスバリデーション計画を作成します。
splitPlan <- kWayCrossValidation(nRows, nSplits, dframe, y)
ここで、nRows は分割するデータの行数、nSplits は望ましいクロスバリデーションの分割数(fold 数)です。
厳密には、dframe と y は kWayCrossValidation では使用されません。これは他の vtreat のデータ分割関数との互換性のためにあります。どちらも NULL に設定して構いません。
得られる splitPlan は nSplits 個の要素からなるリストで、各要素は次の 2 つのベクトルを含みます。
train: 訓練データセットを構成するdframeのインデックスapp: テスト(またはアプリケーション)データセットを構成するdframeのインデックス
この演習では、データセット mpg に対して 3 分割のクロスバリデーション計画を作成します。
この演習はコースの一部です
R による Supervised Learning:回帰
演習の手順
- パッケージ
vtreatを読み込みます。 mpgの行数を取得して、変数nRowsに代入します。kWayCrossValidationを呼び出して 3 分割のクロスバリデーション計画を作成し、変数splitPlanに代入します。- 関数の最後の 2 つの引数は
NULLに設定して構いません。
- 関数の最後の 2 つの引数は
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
___