樣本外測試
你的目標是根據已估計的模型,對新門市做購買預測。你會用 predict() 這個函式來檢查此目標是否可行。predict() 會取回 train.model 的參數估計值,進而對 test.data 中的反應變數進行預測。若要取得以反應變數尺度表示的預測值(也就是預測的購買機率),你需要將額外的引數 type 設為 "response"。
最後,使用 ifelse() 將保留樣本的預測分類為「有購買」與「未購買」,再用 table() 將其與實際觀察到的購買情形相比較。最後,再用 prop.table() 將表中的數字轉換為相對比例。
本練習屬於課程
在 R 中建立反應模型
練習說明
- 使用
predict()以train.model對test.data做預測反應。將引數type設為"response",並將結果命名為probability。 - 將模型預測分類:若
probability大於0.5則為1,否則為0。把結果指定給物件predicted。 - 從
test.data取得HOPPINESS的實際購買情形,指定給物件observed。 - 使用
table()與prop.table()對observed與predicted兩個資料向量做交叉列聯與比例化。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Predict the purchase probabilities for test.data
probability <- ___(___, ___, type = "response")
# Classify the predictions
predicted <- ___(probability >= ___, ___, ___)
# Obtain the observed purchases from test.data
observed <- test.data$HOPPINESS
# Cross-tabulate observed vs. predicted purchases
___(___(predicted, observed))