시작하기무료로 시작하기

vtreat로 자전거 대여 데이터 전처리하기

이 연습 문제에서는 7월/8월 자전거 데이터에 대해 원-핫 인코딩된 데이터 프레임을 만들어, 이후 xgboost에서 사용해 보겠습니다.

데이터 프레임 bikesJulybikesAugust는 미리 로드되어 있습니다.

편의를 위해, 모델에 사용할 변수 열 목록을 담은 변수 vars를 미리 정의해 두었습니다.

이 연습은 강의의 일부입니다

R로 하는 Supervised Learning: 회귀

강의 보기

연습 안내

  • 패키지 vtreat를 로드하세요.
  • designTreatmentsZ()를 사용해 bikesJuly(훈련 데이터)의 vars 변수들에 대한 처리 계획 treatplan을 만드세요.
    • 함수가 너무 많은 메시지를 출력하지 않도록 verbose=FALSE 플래그를 설정하세요.
  • 변환된 변수 중 cleanlev만의 이름을 담는 벡터 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
___
___
코드 편집 및 실행