Dùng vtreat cho dữ liệu thuê xe đạp
Trong bài tập này, bạn sẽ tạo các data frame dạng one-hot-encoding từ dữ liệu xe đạp tháng 7/tháng 8, để dùng với xgboost ở phần sau.
Các data frame bikesJuly và bikesAugust đã được nạp sẵn.
Để thuận tiện, chúng tôi đã định nghĩa biến vars chứa danh sách các cột biến cho mô hình.
Bài tập này là một phần của khóa học
Học có giám sát với R: Hồi quy
Hướng dẫn bài tập
- Nạp gói
vtreat. - Dùng
designTreatmentsZ()để tạo treatment plantreatplancho các biến trongvarstừbikesJuly(dữ liệu huấn luyện).- Đặt cờ
verbose=FALSEđể tránh hàm in quá nhiều thông báo.
- Đặt cờ
- Điền vào chỗ trống để tạo một vector
newvarschỉ chứa tên các biến đã được biến đổi kiểucleanvàlev. In kết quả ra. - Dùng
prepare()để tạo data frame huấn luyện one-hot-encodedbikesJuly.treat.- Dùng đối số
varRestrictionsđể giới hạn các biến sử dụng vàonewvars.
- Dùng đối số
- Dùng
prepare()để tạo test frame one-hot-encodedbikesAugust.treattừbikesAugusttheo cách tương tự. - Gọi
str()trên cả hai test frame đã chuẩn bị để xem cấu trúc.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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
___
___