不均衡データセットとは
不均衡データセット(Imbalanced Dataset)とは、分類問題における教師あり学習データセットにおいて、特定のクラス(カテゴリ)に属するデータの数が、他のクラスに属するデータの数と著しく異なる状態のことです。
不均衡データセット(ふきんこうデータセット、Imbalanced Dataset)は、機械学習、特に分類タスクのための教師あり学習データセットにおいて、ターゲット変数(予測したいクラス)の各カテゴリに属するデータの分布が均等でない状態を指します。
一方のクラスのサンプル数が、他方のクラスのサンプル数と比較して圧倒的に少ない場合、そのデータセットは「不均衡である」と表現されます。このような不均衡は、多くの実世界の問題で発生し、機械学習モデルの学習と評価に特有の課題をもたらします。
不均衡データセット の基本的な概念
二値分類問題を例に考えると、不均衡データセットとは、一方のクラス(少数派クラスまたは陽性クラスと呼ばれることが多い)のサンプル数が、もう一方のクラス(多数派クラスまたは陰性クラスと呼ばれることが多い)のサンプル数よりも極端に少ないデータセットです。
多クラス分類問題においても同様に、一部のクラスのサンプル数が他のクラスと比較して大幅に少ない場合に不均衡が生じます。
不均衡の度合いは、少数派クラスと多数派クラスのサンプル数の比率によって評価されます。例えば、1000個のデータポイントを持つ二値分類データセットにおいて、陽性クラスのサンプル数が10個、陰性クラスのサンプル数が990個である場合、その不均衡比率は99:1となり、非常に不均衡なデータセットと言えます。
不均衡データセット が発生する一般的なシナリオ
不均衡データセットは、様々な現実世界の応用分野で頻繁に発生します。
- 異常検知(Anomaly Detection): 不正取引の検出、製造ラインにおける不良品の検出、ネットワーク侵入の検出など、異常事例の数は通常、正常事例の数よりもはるかに少ないため、データセットは不均衡になりがちです。
- 医療診断(Medical Diagnosis): 稀な疾患の診断においては、疾患を持つ患者のデータは健康な人のデータと比較して非常に少数になります。
- 自然災害予測(Natural Disaster Prediction): 地震、津波、火山の噴火などの自然災害は頻繁には発生しないため、関連するデータセットは不均衡になる傾向があります。
- 顧客離反予測(Customer Churn Prediction): サービスの解約者(離反者)は、通常、継続利用者に比べて少ないため、顧客離反予測のデータセットは不均衡になりやすいです。
- スパムメール検出(Spam Email Detection): スパムメールの数は正常なメールの数よりも少ない場合があり、スパムメール検出のデータセットは不均衡になることがあります。
不均衡データセット が機械学習モデルの学習と評価に与える影響
不均衡データセットは、従来の機械学習アルゴリズムの学習と評価において、以下のような課題を引き起こす可能性があります。
- 多数派クラスへの偏り: 多くの標準的な機械学習アルゴリズムは、データセット全体の精度を最大化するように学習するため、少数派クラスを無視したり、誤って多数派クラスに分類したりする傾向があります。
- 評価指標の誤解: 精度(Accuracy)は、不均衡データセットにおけるモデルの性能を適切に評価する指標とは言えません。例えば、99個の陰性クラスと1個の陽性クラスを持つデータセットにおいて、常に陰性と予測するモデルでも99%の精度を達成してしまいますが、陽性クラスを全く識別できていないため、実際には有用なモデルとは言えません。
- 少数派クラスの学習困難性: 少数派クラスのサンプル数が少ないため、モデルがその特徴を十分に学習できず、汎化性能が低下する可能性があります。
不均衡データセット への対処法
不均衡データセットに対処するためには、データレベル、アルゴリズムレベル、評価レベルでのアプローチが考えられます。
データレベルの手法:
- オーバーサンプリング(Oversampling): 少数派クラスのサンプルを複製したり、既存のサンプルから新しい合成サンプルを生成したりすることで、クラス間のバランスを調整します。SMOTE(Synthetic Minority Over-sampling Technique)などが代表的な手法です。
- アンダーサンプリング(Undersampling): 多数派クラスのサンプルをランダムに削除したり、特定の基準に基づいて選択したりすることで、クラス間のバランスを調整します。
- 組み合わせサンプリング(Combination Sampling): オーバーサンプリングとアンダーサンプリングを組み合わせて、より効果的にクラスバランスを調整します。
アルゴリズムレベルの手法:
- クラスの重み付け(Class Weighting): 学習アルゴリズムにおいて、少数派クラスの誤分類に対するペナルティを大きく設定することで、モデルが少数派クラスをより重視するように調整します。多くの機械学習ライブラリでサポートされています。
- コスト感受性学習(Cost-Sensitive Learning): 異なるクラスの誤分類に対して異なるコストを設定し、総コストを最小化するようにモデルを学習します。
- アンサンブル学習(Ensemble Learning): 複数の学習器を組み合わせて、個々の学習器の弱点を補完し、全体の性能を向上させます。不均衡データセットに特化したアンサンブル手法(例:Balanced Random Forest、EasyEnsemble、RUSBoost)も存在します。
評価レベルの手法:
- 混同行列(Confusion Matrix): モデルの予測結果を真陽性(TP)、真陰性(TN)、偽陽性(FP)、偽陰性(FN)の4つのカテゴリに分類し、性能を評価します。
- 適合率(Precision)と再現率(Recall): 陽性クラスの予測の正確さ(適合率)と、実際に陽性であるサンプルのうち正しく予測できた割合(再現率)を評価します。
- F値(F-measure): 適合率と再現率の調和平均であり、両者のバランスを考慮した評価指標です。
- AUC(Area Under the ROC Curve): ROC曲線(Receiver Operating Characteristic curve)は、閾値を変化させたときの真陽性率(TPR)と偽陽性率(FPR)の関係を示すグラフであり、AUCはその曲線の下の面積を表します。クラス間の分離能力を評価するのに適しています。
不均衡データセットは、多くの現実世界の問題で遭遇する可能性があり、機械学習モデルの学習と評価に特有の課題をもたらします。データレベルでのサンプリング手法、アルゴリズムレベルでの重み付けやコスト感受性学習、アンサンブル学習、そして適切な評価指標の選択と理解が、不均衡データセットに対する効果的なモデル構築には不可欠です。問題の特性やデータセットの不均衡の度合いに応じて、これらの手法を適切に組み合わせることが重要となります。
関連用語
お問い合わせ
システム開発・アプリ開発に関するご相談がございましたら、APPSWINGBYまでお気軽にご連絡ください。
APPSWINGBYの
ソリューション
APPSWINGBYのセキュリティサービスについて、詳しくは以下のメニューからお進みください。
システム開発
既存事業のDXによる新規開発、既存業務システムの引継ぎ・機能追加、表計算ソフトによる管理からの卒業等々、様々なWebシステムの開発を行っています。
iOS/Androidアプリ開発
既存事業のDXによるアプリの新規開発から既存アプリの改修・機能追加まで様々なアプリ開発における様々な課題・問題を解決しています。
リファクタリング
他のベンダーが開発したウェブサービスやアプリの不具合改修やソースコードの最適化、また、クラウド移行によってランニングコストが大幅にあがってしまったシステムのリアーキテクチャなどの行っています。

ご相談・お問い合わせはこちら
APPSWINGBYのミッションは、アプリでビジネスを加速し、
お客様とともにビジネスの成功と未来を形作ること。
私達は、ITテクノロジーを活用し、様々なサービスを提供することで、
より良い社会創りに貢献していきます。
T関する疑問等、小さなことでも遠慮なくお問合せください。3営業日以内にご返答致します。

ご相談・お問合せはこちら
APPSWINGBYのミッションは、アプリでビジネスを加速し、お客様とともにビジネスの成功と未来を形作ること。
私達は、ITテクノロジーを活用し、様々なサービスを提供することで、より良い社会創りに貢献していきます。
IT関する疑問等、小さなことでも遠慮なくお問合せください。3営業日以内にご返答させて頂きます。