ランダムフォレストによる自転車モデルの予測を可視化する
前の演習では、RMSE の観点で、ランダムフォレストの自転車モデルが 8 月データに対して quasipoisson モデルより良い結果を出したことを確認しました。
この演習では、ランダムフォレストモデルの 8 月の予測を時間の関数として可視化します。比較用に、以前の演習で作成した quasipoisson モデルの対応するプロットも用意されています。
quasipoisson モデルは、主に一日の中の閑散時と繁忙時のパターンを捉えていましたが、ピーク需要をやや過小評価していました。ランダムフォレストモデルがどのように比較できるかを確認したいところです。
予測を含むデータフレーム bikesAugust が用意されています。時間の関数としての quasipoisson モデルの予測プロット quasipoisson_plot も表示されています。
この演習はコースの一部です
R による Supervised Learning:回帰
演習の手順
- 空欄を埋めて、8 月の最初の 14 日間について、時間ごとの予測値と実測値をプロットしてください。
cnt列とpred列をpivot_longerで縦持ちにし、キーをvaluetype、値の列名をvalueとします。valueをinstant(日)の関数としてプロットします。
ランダムフォレストモデルはどう見えますか?
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
first_two_weeks <- bikesAugust %>%
mutate(rf = bike_outcomesAugust$rf) %>%
# Set start to 0, convert unit to days
mutate(instant = (instant - min(instant)) / 24) %>%
# Filter for rows in the first two weeks
filter(instant < 14)
# collect cnt and pred into a column named value with key valuetype
pivot_longer(c('cnt', 'rf'), names_to = '___', values_to = '___')
# Plot predictions and cnt by date/time
ggplot(___, aes(x = ___, y = ___, color = valuetype, linetype = valuetype)) +
geom_point() +
geom_line() +
scale_x_continuous("Day", breaks = 0:14, labels = 0:14) +
scale_color_brewer(palette = "Dark2") +
ggtitle("Predicted August bike rentals, Random Forest plot")