用 vtreat 处理共享单车租赁数据
在本练习中,您将为 7/8 月的单车数据创建独热编码的数据框,稍后将与 xgboost 一起使用。
数据框 bikesJuly 和 bikesAugust 已预先加载。
为方便起见,我们已定义变量 vars,其中包含用于建模的变量列列表。
本练习是课程的一部分
R 中的监督学习:回归
练习说明
- 加载
vtreat包。 - 使用
designTreatmentsZ()基于bikesJuly(训练数据)中vars的变量创建处理方案treatplan。- 将标志
verbose=FALSE设为 FALSE,以避免函数打印过多信息。
- 将标志
- 填空创建向量
newvars,其中仅包含经过clean和lev转换的变量名。打印该向量。 - 使用
prepare()创建独热编码的训练数据框bikesJuly.treat。- 使用参数
varRestrictions将使用的变量限制为newvars。
- 使用参数
- 以相同方式使用
prepare()基于bikesAugust创建独热编码的测试数据框bikesAugust.treat。 - 对两个已准备好的数据框都调用
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
___
___