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
___
___