vtreat で自転車レンタルデータを前処理する
この演習では、後で xgboost で使うために、7月/8月の自転車データをワンホットエンコードしたデータフレームを作成します。
データフレーム 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
___
___