Обучите модель для предсказания количества аренд велосипедов
В этом упражнении вы построите модель для предсказания количества велосипедов, арендованных за час, в зависимости от погоды, типа дня (праздник, рабочий день или выходной) и времени суток. Модель будет обучена на данных за июль.
Фрейм данных содержит следующие столбцы:
cnt: количество арендованных велосипедов за этот час (целевая переменная)hr: час суток (0–23, как фактор)holiday: TRUE/FALSEworkingday: TRUE, если день не является ни праздником, ни выходным, иначе FALSEweathersit: категориальная переменная — "Clear to partly cloudy"/"Light Precipitation"/"Misty"temp: нормализованная температура в Цельсияхatemp: нормализованная «ощущаемая» температура в Цельсияхhum: нормализованная влажностьwindspeed: нормализованная скорость ветраinstant: временной индекс — количество часов с начала набора данных (не переменная модели)mnthиyr: индексы месяца и года (не переменные модели)
Помните, что при использовании glm() (документация) для построения модели счётных данных необходимо указать family = poisson или family = quasipoisson.
Поскольку входных переменных много, для удобства мы сохраним название целевой переменной и входных переменных в отдельные переменные, а затем используем paste() (документация) для формирования строки с формулой модели.
Фрейм данных bikesJuly уже доступен для использования. Названия целевой переменной и входных переменных загружены в переменные outcome и vars соответственно.
Это упражнение является частью курса
Обучение с учителем в R: регрессия
Инструкции к упражнению
- Заполните пропуски, чтобы создать формулу
fmla, выражающуюcntкак функцию входных переменных. Выведите её на экран. - Вычислите среднее значение (
mean()) и дисперсию (var()) дляbikesJuly$cnt.- Какую регрессию следует использовать — пуассоновскую или квазипуассоновскую?
- Используйте
glm(), чтобы обучить модель на данныхbikesJuly:bike_model. - Используйте
glance(), чтобы просмотреть статистики качества модели. Сохраните результатglance()в переменнуюperf. - Вычислите псевдо-R-квадрат модели.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# bikesJuly is available
str(bikesJuly)
# The outcome column
outcome
# The inputs to use
vars
# Create the formula string for bikes rented as a function of the inputs
(fmla <- paste(___, "~", paste(___, collapse = " + ")))
# Calculate the mean and variance of the outcome
(mean_bikes <- ___)
(var_bikes <- ___)
# Fit the model
bike_model <- ___
# Call glance
(perf <- ___)
# Calculate pseudo-R-squared
(pseudoR2 <- ___)