vtreat로 자전거 대여 데이터 전처리하기
이 연습 문제에서는 7월/8월 자전거 데이터에 대해 원-핫 인코딩된 데이터 프레임을 만들어, 이후 xgboost에서 사용해 보겠습니다.
데이터 프레임 bikesJuly와 bikesAugust는 미리 로드되어 있습니다.
편의를 위해, 모델에 사용할 변수 열 목록을 담은 변수 vars를 미리 정의해 두었습니다.
이 연습은 강의의 일부입니다
R로 하는 Supervised Learning: 회귀
연습 안내
- 패키지
vtreat를 로드하세요. designTreatmentsZ()를 사용해bikesJuly(훈련 데이터)의vars변수들에 대한 처리 계획treatplan을 만드세요.- 함수가 너무 많은 메시지를 출력하지 않도록
verbose=FALSE플래그를 설정하세요.
- 함수가 너무 많은 메시지를 출력하지 않도록
- 변환된 변수 중
clean과lev만의 이름을 담는 벡터newvars를 만들 수 있도록 빈칸을 채우고, 이를 출력하세요. prepare()를 사용해 원-핫 인코딩된 훈련 데이터 프레임bikesJuly.treat를 만드세요.- 사용할 변수를
newvars로 제한하기 위해varRestrictions인수를 사용하세요.
- 사용할 변수를
- 같은 방식으로
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
___
___