始める無料で始める

クロスバリデーション計画を作成する

n 分割のクロスバリデーション計画を実装する方法はいくつかあります。この演習では、vtreat::kWayCrossValidation() を使ってそのような計画を作成し、内容を確認します。

kWayCrossValidation() は次の呼び出しでクロスバリデーション計画を作成します。

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

ここで、nRows は分割するデータの行数、nSplits は望ましいクロスバリデーションの分割数(fold 数)です。

厳密には、dframeykWayCrossValidation では使用されません。これは他の vtreat のデータ分割関数との互換性のためにあります。どちらも NULL に設定して構いません。

得られる splitPlannSplits 個の要素からなるリストで、各要素は次の 2 つのベクトルを含みます。

  • train: 訓練データセットを構成する dframe のインデックス
  • app: テスト(またはアプリケーション)データセットを構成する dframe のインデックス

この演習では、データセット mpg に対して 3 分割のクロスバリデーション計画を作成します。

この演習はコースの一部です

R による Supervised Learning:回帰

コースを見る

演習の手順

  • パッケージ vtreat を読み込みます。
  • mpg の行数を取得して、変数 nRows に代入します。
  • kWayCrossValidation を呼び出して 3 分割のクロスバリデーション計画を作成し、変数 splitPlan に代入します。
    • 関数の最後の 2 つの引数は 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
___
コードを編集して実行