ありまっくすのへっぽこ日記

アラフォーでへっぽこエンジニアをしております。へっぽこなりに頑張っています。

AIジョブカレ4回目に参加して来ました

だいぶ前の話。

AIジョブカレの4回目に参加させていただきました。

まずはモデリング時のデータ処理について、復習。(あくまで自分むけ)

データ処理では、以下のことを行います。

  1. one-hotエンコーディング
  2. 欠損処理(Imputer)
  3. 特徴量選択(RFE)

 

今回のテーマは「前処理」

パラメータを最適化するためにはどうするかということですね。

学習させるデータは数値でなくてはいけないのですが、カテゴリ変数という場合もあります。そういうときにone-hotエンコーディングが必要になって来ます。

 

カテゴリ変数って何かというと2個以上の選択肢を持つもの。

colorという変数が以下の値を取りうるような感じです。

  1. red
  2. blue
  3. 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)。これも大事。

アルゴリズム投入前に、効果が低いと思われる変数を除去します。

 変数が多い(高次元)のものはオーバーフィッティングになりやすいですからね。

 

で、力尽きたので今日はここまで。