始める無料で始める

テストセットで予測する

トレーニングセットとテストセットをランダムに分割できたので、最初の演習と同様に lm() 関数を使って、データ全体ではなくトレーニングセットにモデルを当てはめます。 線形回帰関数の formula インターフェースを使うと、ターゲット変数を指定し、データセット内の他のすべての変数を予測子としてモデルを学習できます。

mod <- lm(y ~ ., training_data)

predict() 関数を使うと、そのモデルから新しいデータに対する予測を作成できます。 新しいデータセットにはトレーニングデータと同じ列がすべて必要ですが、列の順序や値は異なっていて構いません。ここでは、トレーニングセットで再予測するのではなく、モデルの学習に使っていないテストセットで予測します。これにより、次の演習でモデルのアウトオブサンプル誤差を評価できます。

p <- predict(model, new_data)

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

Rで学ぶ caret を使った Machine Learning

コースを見る

演習の手順

  • すべての他の変数を共変量として用い、price を予測する lm() モデルを model という名前で当てはめてください。必ずトレーニングセット train を使います。
  • predict() を使ってテストセット test に対して予測し、その値をベクトル p に保存してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Fit lm model on train: model


# Predict on test: p
コードを編集して実行