5 × 5-分割の反復クロスバリデーション
クロスバリデーションは1回だけでなく、反復して実行できます。反復クロスバリデーションを行うと、テストデータでの誤差推定がより安定します。クロスバリデーション全体の手続きを繰り返すことも可能です。時間はかかりますが、評価に使える外部データ(アウトオブサンプル)の組み合わせが大幅に増え、モデル性能の評価精度が高まります。
caret の train() 関数のすばらしい点は、関数呼び出しのいくつかの引数を少し変えるだけで、まったく異なるモデルやクロスバリデーション手法を簡単に試せることです。たとえば、モデルのアウトオブサンプル精度推定に自信を持つため、クロスバリデーション手続きを 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