AIジョブカレ4回目に参加して来ました
だいぶ前の話。
AIジョブカレの4回目に参加させていただきました。
まずはモデリング時のデータ処理について、復習。(あくまで自分むけ)
データ処理では、以下のことを行います。
- one-hotエンコーディング
- 欠損処理(Imputer)
- 特徴量選択(RFE)
今回のテーマは「前処理」
パラメータを最適化するためにはどうするかということですね。
学習させるデータは数値でなくてはいけないのですが、カテゴリ変数という場合もあります。そういうときにone-hotエンコーディングが必要になって来ます。
カテゴリ変数って何かというと2個以上の選択肢を持つもの。
colorという変数が以下の値を取りうるような感じです。
- red
- blue
- yellow
みたいな選択肢のようなもの。これを0か1で表現できるように変更するのがone-hotエンコーディングな訳です。
上の例だと、
- color_red
- color_blue
- color_yellow
という3つの変数が出来上がります。
赤の場合はcolor_redのみが1となり、後の2つは0となるわけです。
お次は欠損値処理。
現実世界のデータは必ずしも全て埋まってくるわけではないので、欠損値を何かしらの値で埋める必要があります。
sklearnでone-hotエンコーディングをする際はencoding with dummy naをtrueにセットすると欠損を組み込んでくれます。
連続変数の保管は「平均値」で行うことが多いそうです。
そして、特徴量選択(RFE)。これも大事。
アルゴリズム投入前に、効果が低いと思われる変数を除去します。
変数が多い(高次元)のものはオーバーフィッティングになりやすいですからね。
で、力尽きたので今日はここまで。