ใช้ vtreat กับข้อมูลการเช่าจักรยาน
ในแบบฝึกหัดนี้ จะสร้าง data frame แบบ one-hot-encoded จากข้อมูลจักรยานเดือนกรกฎาคม/สิงหาคม เพื่อนำไปใช้กับ xgboost ในภายหลัง
ข้อมูล bikesJuly และ bikesAugust ถูกโหลดไว้ให้แล้ว
เพื่อความสะดวก ได้กำหนดตัวแปร vars ที่มีรายชื่อคอลัมน์ตัวแปรสำหรับโมเดลไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Supervised Learning ใน R: การถดถอย
คำแนะนำการฝึกหัด
- โหลดแพ็กเกจ
vtreat - ใช้
designTreatmentsZ()เพื่อสร้าง treatment plan ชื่อtreatplanสำหรับตัวแปรในvarsจากbikesJuly(ข้อมูลสำหรับ training)- กำหนด flag
verbose=FALSEเพื่อป้องกันไม่ให้ฟังก์ชันแสดงข้อความมากเกินไป
- กำหนด flag
- เติมช่องว่างเพื่อสร้างเวกเตอร์
newvarsที่เก็บเฉพาะชื่อตัวแปรที่ผ่านการแปลงแบบcleanและlevจากนั้น print ผลลัพธ์ - ใช้
prepare()เพื่อสร้าง data frame สำหรับ training แบบ one-hot-encoded ชื่อbikesJuly.treat- ใช้อาร์กิวเมนต์
varRestrictionsเพื่อจำกัดตัวแปรที่ใช้ให้เหลือเฉพาะที่อยู่ในnewvars
- ใช้อาร์กิวเมนต์
- ใช้
prepare()เพื่อสร้าง test frame แบบ one-hot-encoded ชื่อbikesAugust.treatจากbikesAugustในแบบเดียวกัน - เรียกใช้
str()กับ test frame ทั้งสองที่เตรียมไว้ เพื่อดูโครงสร้างของข้อมูล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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
___
___