對測試集做預測
現在你已經隨機分出訓練集與測試集,可以像第一個練習那樣使用 lm(),不過這次是只在訓練集上擬合模型,而不是用整個資料集。請回想,你可以用線性迴歸的公式介面,指定目標變數,並使用資料集中其他所有變數作為預測變數來擬合模型:
mod <- lm(y ~ ., training_data)
接著,你可以用 predict() 函式在新資料上產生該模型的預測。新的資料集必須包含訓練資料的所有欄位,但欄位順序與值可以不同。在這裡,我們不再對訓練集重新預測,而是對未用於訓練的測試集做預測。這會讓你在下一個練習中評估模型的樣本外誤差:
p <- predict(model, new_data)
本練習屬於課程
使用 R 的 caret 進行 Machine Learning
練習說明
- 使用訓練集
train擬合一個lm()模型,命名為model,以price為目標變數,其他所有變數為自變數。 - 使用
predict()對測試集test做預測,並將結果存成名為p的向量。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Fit lm model on train: model
# Predict on test: p