始める無料で始める

5 × 5-分割の反復クロスバリデーション

クロスバリデーションは1回だけでなく、反復して実行できます。反復クロスバリデーションを行うと、テストデータでの誤差推定がより安定します。クロスバリデーション全体の手続きを繰り返すことも可能です。時間はかかりますが、評価に使える外部データ(アウトオブサンプル)の組み合わせが大幅に増え、モデル性能の評価精度が高まります。

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
コードを編集して実行