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

Построение модели случайного леса для прогнозирования аренды велосипедов

В этом упражнении вы снова построите модель для предсказания количества арендованных велосипедов в час в зависимости от погоды, типа дня (праздник, рабочий день или выходной) и времени суток. Модель будет обучена на данных за июль.

Для обучения модели случайного леса вы будете использовать пакет ranger. В этом упражнении ключевыми аргументами вызова ranger() (документация) являются:

  • formula
  • data
  • num.trees: количество деревьев в лесу.
  • respect.unordered.factors: определяет, как обрабатывать неупорядоченные факторные переменные. Для задач регрессии рекомендуем устанавливать значение "order".
  • seed: поскольку алгоритм является случайным, задайте начальное значение генератора случайных чисел для воспроизводимости результатов.

Поскольку входных переменных много, для удобства целевая переменная и список признаков заданы в переменных outcome и vars. Для формирования строки с формулой модели используйте функцию paste() (документация).

Фрейм данных bikesJuly уже загружен. В примере кода указаны имена целевой и входных переменных.

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

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

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

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

  • Заполните пропуски, чтобы создать формулу fmla, выражающую cnt как функцию входных переменных. Выведите её на экран.
  • Загрузите пакет ranger.
  • С помощью ranger обучите модель на данных bikesJuly и сохраните её в bike_model_rf.
    • Первым аргументом ranger() должна быть формула fmla.
    • Используйте 500 деревьев и задайте respect.unordered.factors = "order".
    • Установите начальное значение генератора случайных чисел равным seed для воспроизводимости результатов.
    • Выведите модель на экран. Чему равен коэффициент детерминации R²?

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# bikesJuly is available
str(bikesJuly)

# Random seed to reproduce results
seed

# The outcome column
(outcome <- "cnt")

# The input variables
(vars <- c("hr", "holiday", "workingday", "weathersit", "temp", "atemp", "hum", "windspeed"))

# Create the formula string for bikes rented as a function of the inputs
(fmla <- paste(___, "~", paste(___, collapse = " + ")))

# Load the package ranger
___

# Fit and print the random forest model
(bike_model_rf <- ranger(___, # formula 
                         ___, # data
                         num.trees = ___, 
                         respect.unordered.factors = ___, 
                         seed = ___))
Редактировать и запускать код