5-fold cross-validation
このコースでは、caret パッケージの柔軟性を幅広く体験するために、多様なデータセットを使います。ここでは有名な Boston 住宅価格データセットを用いて、ボストン郊外各地域の住宅価格中央値を予測します。
前の演習とまったく同じコードを使えますが、モデルで使うデータセットだけを変更します。
model <- train(
medv ~ .,
Boston, # <- new!
method = "lm",
trControl = trainControl(
method = "cv",
number = 10,
verboseIter = TRUE
)
)
次に、trainControl() の number 引数を使って、10 分割のクロスバリデーションを 5 分割に減らします。
trControl = trainControl(
method = "cv",
number = 5,
verboseIter = TRUE
)
この演習はコースの一部です
Rで学ぶ caret を使った Machine Learning
演習の手順
Boston住宅データセットに対してlm()モデルを当てはめ、目的変数をmedv、それ以外のすべての変数を説明変数にします。- 10 分割ではなく 5 分割のクロスバリデーションを使用します。
- モデルをコンソールに出力し、結果を確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Fit lm model using 5-fold CV: model
model <- train(
___,
___,
method = "lm",
trControl = trainControl(
method = "cv",
number = ___,
verboseIter = TRUE
)
)
# Print model to console