НачатьНачать бесплатно

Визуализация прогнозов модели случайного леса для данных о велосипедах

В предыдущем упражнении вы убедились, что модель случайного леса для данных о велосипедах показала лучший результат на августовских данных по сравнению с моделью квазипуассона — в терминах RMSE.

В этом упражнении вы визуализируете августовские прогнозы модели случайного леса как функцию времени. Соответствующий график модели квазипуассона, построенной в одном из предыдущих упражнений, доступен для сравнения.

Напомним, что модель квазипуассона в целом улавливала закономерность спокойных и загруженных часов в течение дня, однако несколько занижала пиковый спрос. Посмотрим, как в этом отношении ведёт себя модель случайного леса.

Фрейм данных bikesAugust (с прогнозами) уже доступен для вас. График quasipoisson_plot прогнозов модели квазипуассона как функции времени отображён на экране.

Это упражнение является частью курса

Обучение с учителем в R: регрессия

Посмотреть курс

Инструкции к упражнению

  • Заполните пропуски, чтобы построить графики прогнозов и фактических значений по часам за первые 14 дней августа.
    • Примените pivot_longer к столбцам cnt и pred, собрав их в столбец value с ключом valuetype.
    • Постройте график 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")
Редактировать и запускать код