kaggleのコンペでランキング爆上がりのデータ水増し(data augmentation)方法はPCAだった

概要

kaggleのコンペで正例が極端に少ないデータで戦わないと行けない事が多々あります。

そんなとき、データの水増しが、スコアアップに有効なときがあります。

この記事では、PCAを使った行単位のデータの水増し方法について解説します。

 

PCAを利用した、データの水増しは以下の通り。

  1. 元データをPCAで圧縮する。
  2. 圧縮したものを復元する
  3. その結果、元の値に近い値を取得することによりデータの水増しを実現します。

 

PACで圧縮→復元で水増しする際のポイント

PACで圧縮からの復元でデータの水増しする際のポイントは以下の通り。

  1. 圧縮前に標準化する
  2. 圧縮率は、緩めにする(復元したとき、元の数値に近い値を取得できる)
  3. 近い数値を取得できる特性を利用する
  4. ラベルの数が少ないところに適用する。あくまでもデータが少ないところの補填に使う

 

実際のコードは以下の通り

以下のコードで仕様したデータセットは、データサイエンスの定番、irisを使った

 

 

主成分分析で水増しする方法で、ランキング外から銀メダルにちかい銅メダルまで一気に上げることができました。

気をつける点

元々ある全てのデータに対しての単純なデータの水増しだったら、かえって精度が落ちることがあります。

ラベルが少ないところに、水増しを適用するなど、ちょっとした工夫が必要でした。

正例が少ないときに、全体的に、正例と負例の割合が同じになるようにデータを増やせれば理想です。

 

水増しの効果がなさそうなところ

・整数で値の範囲が小さい(極端な話、0,1だけのデータ)

・データ間に相関関係がない

・カテゴリ変数(そもそも、連続値でないと近い数値を取れない)

まとめ

今回、PCAを使った行単位のデータの水増し方法を解説しました。他にもPCAを使い、特徴量を作成して横(列)に追加する方法もあります。

これらの方法がkaggleで100%効果あるかは保証しませんが、スコアを上げる手段の一つとして試してみるのはいかがでしょうか?

\IT未経験者からのサポートあり!転職サービス3選!!/

サービス名
未経験 未経験OK 未経験の転職専用 経験者向け
公開の求人数 ITエンジニア全体で1万件以上
ITエンジニア未経験で600件以上
未公開 5,000件以上
利用対象 全職種 IT特化 IT特化
特徴 ✓誰もが知る転職サービス
✓経歴を登録しておくとオファーが来る
✓企業担当者と条件交渉
✓スキルの身につく企業を紹介
✓IT専門のエージェントが対応
✓転職成功すると年収200万円以上の大幅アップがある
転職サポート内容
  • 求人検索
  • 企業担当者と交渉
  • 求人紹介
  • ライフプランのサポート
  • キャリア相談
  • 求人紹介
  • 提出書類の添削
  • 面接対策
公式サイト リクナビネクスト テックゲート レバテックキャリア
最新情報をチェックしよう!