梯度提升樹:視覺化
現在你已經有模型的預測結果,可能會想「表現到底好不好?」。有許多圖可以用來檢查預測的準確度;在這裡你會看兩個常見的圖。首先,將預測值與實際值畫成散佈圖,能直觀比較。其次,殘差理論上應該接近常態分配,所以畫出殘差的密度圖也很有幫助。圖大致會像下面這樣。

在本練習中,你會自己計算殘差(預測值減去實際值),用來評估模型預測。
本練習屬於課程
使用 R 的 sparklyr:Spark 入門
練習說明
已經預先建立一個本機的 tibble responses,其中包含預測年份與實際年份。
- 繪製預測值對實際值的散佈圖。
- 呼叫
ggplot()。 - 第一個引數是資料集
responses。 - 第二個引數使用
aes()包住 x 與 y 軸未加引號的欄位名稱(分別是actual與predicted)。 - 透過加入
geom_point()加上點。 - 將點設為半透明,設定
alpha = 0.1。 - 加上一條參考線,呼叫
geom_abline(),並設定intercept = 0與slope = 1。
- 呼叫
- 建立一個名為
residuals的殘差 tibble。- 對
responses呼叫transmute()。 - 新欄位命名為
residual。 residual等於預測值減去實際值。
- 對
- 繪製殘差的密度圖。
- 將 transmute 後的 tibble 管線傳給
ggplot()。 ggplot()需要一個美術屬性,使用aes()包住residual。- 呼叫
geom_density()加上機率密度曲線。 - 呼叫
geom_vline()並設定xintercept = 0,加上一條穿過 0 的垂直參考線。
- 將 transmute 後的 tibble 管線傳給
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# responses has been pre-defined
responses
# Draw a scatterplot of predicted vs. actual
ggplot(___, aes(___, ___)) +
# Add the points
___ +
# Add a line at actual = predicted
___
residuals <- responses %>%
# Transmute response data to residuals
___
# Draw a density plot of residuals
ggplot(___, aes(___)) +
# Add a density curve
___ +
# Add a vertical line through zero
___