始める無料で始める

vtreat で自転車レンタルデータを前処理する

この演習では、後で xgboost で使うために、7月/8月の自転車データをワンホットエンコードしたデータフレームを作成します。

データフレーム 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
___
___
コードを編集して実行