SMOTE(Synthetic Minority Over-sampling Technique)とは、不均衡データの少数派クラスに対して、既存のサンプル間を線形補間して新しい合成サンプルを生成するオーバーサンプリング手法です。2002年にChawlaらによって提案されました。
アルゴリズムの仕組み
①少数派クラスのサンプルを1つ選択→②そのk近傍(通常k=5)の中からランダムに1つ選択→③2点間をランダムな比率で線形補間して新しいサンプルを生成→これを必要数繰り返します。
| ひとことで言うと | 少数派データの「間」を取って、人工的に新しいデータを作り出す手法。 |
|---|---|
| 何がうれしいか | 単純な複製と違い、まったく同じデータが増えないので過学習しにくい。 |
| 注意点 | 外れ値の周辺に不自然なデータを作ることがある。作成後に分布を確認する。 |
SMOTEの変種
Borderline-SMOTE(決定境界付近のサンプルのみ合成)、SMOTE-ENN(合成後にノイズサンプルを除去)、ADASYN(密度に応じて合成数を調整)など、多くの改良版が提案されています。
1少数派を1件選ぶ基準となるデータ
▶
2近いデータを探すk近傍で数件
▶
3間の点を作る線上にランダムに配置
▶
4新データとして追加似ているが同一ではない
↺ 必要な件数になるまでくり返す
注意点
高次元データや離散変数が多い場合は効果が限定的です。また、ノイズの多いデータでは不適切な合成サンプルが生成される場合があります。