始める無料で始める

ランダムフォレストによる自転車モデルの予測を可視化する

前の演習では、RMSE の観点で、ランダムフォレストの自転車モデルが 8 月データに対して quasipoisson モデルより良い結果を出したことを確認しました。

この演習では、ランダムフォレストモデルの 8 月の予測を時間の関数として可視化します。比較用に、以前の演習で作成した quasipoisson モデルの対応するプロットも用意されています。

quasipoisson モデルは、主に一日の中の閑散時と繁忙時のパターンを捉えていましたが、ピーク需要をやや過小評価していました。ランダムフォレストモデルがどのように比較できるかを確認したいところです。

予測を含むデータフレーム bikesAugust が用意されています。時間の関数としての quasipoisson モデルの予測プロット quasipoisson_plot も表示されています。

この演習はコースの一部です

R による Supervised Learning:回帰

コースを見る

演習の手順

  • 空欄を埋めて、8 月の最初の 14 日間について、時間ごとの予測値と実測値をプロットしてください。
    • cnt 列と pred 列を pivot_longer で縦持ちにし、キーを valuetype、値の列名を value とします。
    • valueinstant(日)の関数としてプロットします。

ランダムフォレストモデルはどう見えますか?

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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")
コードを編集して実行