開始使用免費開始

對測試集做預測

現在你已經隨機分出訓練集與測試集,可以像第一個練習那樣使用 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
編輯並執行程式碼