1. Învăţa
  2. /
  3. Courses
  4. /
  5. R による Supervised Learning:回帰

Connected

exercise

未知のレベル

カテゴリ変数のあるレベルが非常にまれだと、学習データに現れないことがあります。そのレアなレベルが将来のデータに現れると、下流のモデルはどのように扱えばよいか分からない場合があります。このような「未知のレベル」が現れると、model.matrix や caret::dummyVars を使ったワンホットエンコードは正しく機能しません。

vtreat はワンホットエンコードのための model.matrix の「より安全な」代替手段で、未知のレベルを安全に扱えます。vtreat はデータ中の欠損値(カテゴリ変数・連続変数の両方)も処理します。

この演習では、学習データには存在しなかったカテゴリ値を vtreat がどのように扱うかを確認します。 前の演習で作成した処理計画 treatplan と変数集合 newvars は引き続き利用できます。 dframe と、新しいデータフレーム testframe があらかじめ読み込まれています。

Instrucţiuni

100 XP
  • dframe と testframe を表示します。
    • testframe に、dframe にはなかった色はありますか?
  • prepare() を呼び出して、testframe(目的変数なし)のワンホットエンコード版を作成し、testframe.treat という名前で保存して表示します。
    • varRestriction 引数を使って、newvars に含まれる変数のみに制限します。
    • 黄色の行はどのようにエンコードされていますか?