Обработка данных об аренде велосипедов с помощью vtreat
В этом упражнении вы создадите фреймы данных с one-hot-кодированием для данных об аренде велосипедов за июль и август, чтобы затем использовать их с xgboost.
Фреймы данных bikesJuly и bikesAugust уже загружены.
Для удобства переменная vars содержит список столбцов-переменных для модели.
Это упражнение является частью курса
Обучение с учителем в R: регрессия
Инструкции к упражнению
- Загрузите пакет
vtreat. - С помощью
designTreatmentsZ()создайте план обработкиtreatplanдля переменных изvarsна основеbikesJuly(обучающих данных).- Установите флаг
verbose=FALSE, чтобы функция не выводила лишние сообщения.
- Установите флаг
- Заполните пропуски, чтобы создать вектор
newvars, содержащий только имена преобразованных переменных типаcleanиlev. Выведите его на экран. - С помощью
prepare()создайте обучающий фрейм данных с one-hot-кодированиемbikesJuly.treat.- Используйте аргумент
varRestrictions, чтобы ограничить набор переменных значениями изnewvars.
- Используйте аргумент
- Аналогичным образом используйте
prepare(), чтобы создать тестовый фрейм данных с one-hot-кодированиемbikesAugust.treatна основеbikesAugust. - Вызовите
str()для обоих подготовленных фреймов данных, чтобы изучить их структуру.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# The outcome column
(outcome <- "cnt")
# The input columns
(vars <- c("hr", "holiday", "workingday", "weathersit", "temp", "atemp", "hum", "windspeed"))
# Load the package vtreat
___
# Create the treatment plan from bikesJuly (the training data)
treatplan <- ___(___, ___, verbose = FALSE)
# Get the "clean" and "lev" variables from the scoreFrame
(newvars <- treatplan %>%
use_series(scoreFrame) %>%
filter(code %in% ___) %>% # get the rows you care about
use_series(___)) # get the varName column
# Prepare the training data
bikesJuly.treat <- ___(___, ___, varRestriction = ___)
# Prepare the test data
bikesAugust.treat <- ___(___, ___, varRestriction = ___)
# Call str() on the treated data
___
___