参考サイト
- Do combination of existing features make new features ?
- 機械学習エンジニアの奥義、特徴量エンジニアリングについて調べてみた
- randomForestで有効な交互作用を発見したい
- Feature Interaction ( coursera )
◆ 交互作用特徴量(Interaction Feature)
複数の特徴量をかけ合わせたり、差分を取ったり、割ったりことで新しい特徴量を作成する。
例)
g(x, y) = 1*x + 2*y
上記式に対して以下2つの観測データがあったとする。
- x = 6; y = 1
- x = 3; y = 2.5
g(x,y)の結果は、どちらも8となり1,2の観測値は区別出来ない。
そこで新しくz = x * yとなる変数を作りg(x,y)に追加し、
g(x, y, z) = 1*x + 2*y + 0.5*z
とすると結果は、
- x = 6; y = 1; z = 6 * 1 = 6 ==> g() = 11
- x = 3; y = 2.5; z = 3 * 2.5 = 7.5 ==> g() = 11.75
となり、観測データを区別できるようになる。
◯交互作用特徴量が効果を発揮するモデル
- 線形回帰モデル(決定木ベースでは、自分で重要な交互作用を見つけることができるため、明示的に交互作用特徴量を作る必要がないためらしい。)
◯複数変数の合計、差分、乗算、除算による新変数の組み合わせ方法
- 複数変数による合計、差分、乗算、除算によりそれぞれ新しい変数を作る
- ランダムフォレストでモデリングする
- feature importancesを求める
- 合計・差分・乗算・除算それぞれで最も重要な変数を選択し、それらを組み合わせる
以下の画像は、courseraより、
◆ 2つのカテゴリカル変数の合成
2つのカテゴリカル変数の内容を組み合わせて新しくカテゴリカル変数を作成する
・方法1
・方法2
0コメント