再サンプリングからデータ合成まで: 機械学習における不均衡な分類問題にどのように対処するか?

再サンプリングからデータ合成まで: 機械学習における不均衡な分類問題にどのように対処するか?

機械学習とデータサイエンスを少しでも勉強したことがあるなら、クラス分布の不均衡に遭遇したことがあるはずです。この状況は、あるカテゴリに属する​​観測値の数が他のカテゴリに属する​​観測値の数よりも大幅に少ない状況を指します。

この問題は、電力盗難、銀行での不正取引、希少疾患の特定など、異常検出が重要なシナリオで顕著になります。この場合、従来の機械学習アルゴリズムを使用して開発された予測モデルは偏りがあり不正確になる可能性があります。

これは、機械学習アルゴリズムが通常、エラーを減らすことで精度を向上させるように設計されているためです。したがって、クラスの配分/割合やクラスのバランスは考慮されません。

[[185791]]

このガイドでは、さまざまなサンプリング手法を使用してこのクラスの不均衡の問題に対処するためのさまざまなアプローチについて説明します。この記事では、各テクノロジーの長所と短所も比較します。最後に、著者らはバランスの取れたクラス分布を作成する方法を示し、この目的のために特別に設計されたアンサンブル学習手法を適用できるようにします。

目次

1. 不均衡なデータセットの課題

2. 不均衡なデータセットを扱う方法

3. 例

4. 結論

1. 不均衡なデータセットの課題

現在、電力業界が直面している大きな課題の 1 つは、電力盗難です。電力盗難は、世界で3番目に多い盗難形態です。電力会社は、窃盗につながる消費パターンを特定するために、高度なデータ分析技術と機械学習アルゴリズムを利用するケースが増えています。

しかし、最大の障害の 1 つは、膨大な量のデータとその配布です。不正な取引の数は、正常で健全な取引の数よりもはるかに少なく、つまり、全体の観測値の約 1 ~ 2% を占めるだけです。ここでの問題は、全体的な精度を高めることではなく、希少な少数派クラスを識別する精度を向上させることです。

不均衡なデータセットに直面すると、機械学習アルゴリズムは満足のいく分類子を生成しない傾向があります。不均衡なデータセットの場合、予測されるイベントが少数クラスに属し、イベントの割合が 5% 未満である場合、通常、そのイベントはまれなイベントと呼ばれます。

1. 不均衡なクラスの例

例を参考にして、不均衡なクラスについて理解しましょう。

例: 公共料金詐欺検出データセットには、次のデータがあります。

  • 合計観測数 = 1000
  • 不正行為の観察 = 20
  • 不正行為ではない観察 = 980
  • 稀なイベント発生率 = 2%

このケースのデータ分析で直面する主な問題は、本質的に確率が低いこれらの異常なイベントについて、適切な数のサンプルを取得してバランスの取れたデータセットを取得するにはどうすればよいかということです。

2. 標準的な機械学習技術を使用する際の課題

不均衡なデータセットに直面すると、機械学習モデルの従来の評価方法ではモデルのパフォーマンスを正確に測定できません。

決定木やロジスティック回帰などの標準的な分類アルゴリズムは、最も数の多いクラスに偏っています。データの大部分を占めるクラスのみを予測する傾向があります。少数派のクラスの特徴はノイズと見なされ、通常は無視されます。したがって、少数派クラスでは多数派クラスに比べて誤分類率が高くなります。

分類アルゴリズムのパフォーマンスは、実際のクラスと予測クラスに関する情報を含む混同行列を使用して評価されます。

上記の表に示すように、モデルの精度 = (TP+TN) / (TP+FN+FP+TP)

ただし、精度は、不均衡なドメインでのモデルのパフォーマンスを測定するのに適した指標ではありません。たとえば、まれなイベントが 2% 含まれる分類器は、多数派カテゴリに属する​​すべてのインスタンスを正しく分類すると 98% の精度を達成できますが、少数派の 2% の観測値はノイズと見なされ、除去されます。

3. 不均衡なクラスの例

まとめると、不均衡なデータセットでビジネス固有の課題を解決しようとする場合、標準的な機械学習アルゴリズムによって生成された分類子では正確な結果が得られない可能性があります。不正な取引のほかに、不均衡なデータセットに伴う一般的なビジネス上の問題には次のようなものがあります。

  • 大多数の顧客が引き続きサービスを使用している顧客離脱率を特定するデータセット。具体的には、通信会社における顧客離脱率は2%未満です。
  • 医療診断における希少疾患を特定するためのデータセット
  • 地震などの自然災害

4. 使用されたデータセット

この記事では、非常に不均衡なデータセットでパフォーマンスの高いモデルをトレーニングするためのさまざまな手法を紹介します。まれなイベントを正確に予測するには、次の不正検出データセットを使用します。

  • 合計観測数 = 1000
  • 不正行為の観察 = 20
  • 不正行為ではない観察 = 980
  • イベント割合 = 2%
  • 不正行為カテゴリフラグ = 0 (不正行為ではないインスタンス)
  • 不正行為カテゴリフラグ = 1 (不正行為インスタンス)

2. 不均衡なデータセットを扱う方法

1. データレベルの方法:再サンプリング手法

不均衡なデータセットを処理するには、データを機械学習アルゴリズムに入力する前に、分類アルゴリズムを改善したり、トレーニング データのクラスをバランス調整する (データ前処理) などの戦略を開発する必要があります。後者は、用途が広いため、より一般的に使用されています。

バランスのとれた分類の主な目的は、少数派クラスの頻度を増やすか、多数派クラスの頻度を減らすことです。これは、両方のクラスのインスタンス数をほぼ同じにするために行われます。いくつかの再サンプリング手法を見てみましょう。

(1)ランダムアンダーサンプリング

ランダム アンダーサンプリングの目的は、多数派クラスからサンプルをランダムに排除することでクラス分布のバランスをとることです。この目的は、多数派クラスと少数派クラスのインスタンスがバランスがとれるまで達成されます。

  • 合計観測数 = 1000
  • 不正な観察 = 20
  • 不正行為ではない観察 = 980
  • イベント率 = 2%

この場合、重複のない不正なインスタンスから 10% のサンプルを抽出し、不正なインスタンスと組み合わせます。

ランダムアンダーサンプリング後の不正でない観察 = 980 x 10% = 98

不正な観察と不正でない観察を合わせた合計観察数 = 20 + 98 = 118

アンダーサンプリング後の新しいデータセットのイベント率 = 20/118 = 17%

アドバンテージ

  • 実行時間を改善でき、トレーニング データセットが大きい場合は、サンプル数を減らすことでストレージの問題を解決できます。

欠点

  • ルール分類子の構築に重要な貴重な潜在的情報を破棄します。
  • ランダムアンダーサンプリングによって選択されたサンプルには偏りがある可能性があります。それは大多数の意見を正確に代表するものではありません。これにより、実際のテスト データセットでは不正確な結果が生じます。

(2)ランダムオーバーサンプリング

オーバーサンプリングでは、少数派クラスをランダムに複製してその中のインスタンス数を増やすことで、サンプル内の少数派クラスの表現を増やします。

  • 合計観測数 = 1000
  • 不正な観察 = 20
  • 不正行為ではない観察 = 980
  • イベント率 = 2%

この場合、20 回の不正な観察を 20 回複製します。

  • 不正行為ではない観察 = 980
  • 少数派クラスの観察を複製した後の不正な観察 = 400
  • オーバーサンプリング後の新しいデータセットの合計観測数 = 1380
  • アンダーサンプリング後の新しいデータセットのイベント率 = 400/1380 = 29%

アドバンテージ

  • アンダーサンプリングとは異なり、この方法では情報の損失は発生しません。
  • パフォーマンスはアンダーサンプリングよりも優れています。

欠点

  • 少数クラスのイベントの重複により、過剰適合の可能性が高まります。

(3)クラスターベースのオーバーサンプリング

この場合、少数クラスインスタンスと多数クラスインスタンスに対して K-means クラスタリング アルゴリズムが個別に使用されます。これはデータセット内のクラスターを識別するためです。その後、各クラスターはオーバーサンプリングされ、同じクラスのすべてのクラスターのインスタンスの数が同じになり、すべてのクラスのサイズが同じになります。

  • 合計観測数 = 1000
  • 不正な観察 = 20
  • 不正行為ではない観察 = 980
  • イベント率 = 2%

多数派クラスタリング

  • 1. クラスター1: 150 観測
  • 2. クラスター2: 120 観測
  • 3. クラスター3: 230件の観測
  • 4. クラスター4: 200 観測
  • 5. クラスター5: 150件の観測
  • 6. クラスター6: 130 観測

少数派クラスのクラスタリング

  • 1. クラスター1: 8件の観測
  • 2. クラスター2: 12件の観測

各クラスターをオーバーサンプリングした後、同じクラスのすべてのクラスターには同じ数の観測値が含まれます。

多数派クラスタリング

  • 1. クラスター1: 170 観測
  • 2. クラスター2: 170件の観測
  • 3. クラスター3: 170件の観測
  • 4. クラスター4: 170件の観測
  • 5. クラスター5: 170件の観測
  • 6. クラスター6: 170 観測

少数派クラスのクラスタリング

  • 1. クラスター1: 250 観測
  • 2. クラスター2: 250 観測

クラスターベースのオーバーサンプリング後のイベント率 = 500/ (1020+500) = 33 %

アドバンテージ

  • このクラスタリング手法は、クラス間の不均衡という課題を克服するのに役立ちます。正の例を表すサンプルの数は、負の例を表すサンプルの数とは異なります。
  • 異なるサブクラスターで構成されるクラス間の不均衡の課題を克服するのに役立ちます。各サブクラスターには同じ数のインスタンスが含まれていません。

欠点

  • ほとんどのオーバーサンプリング手法と同様に、このアルゴリズムの主な欠点は、トレーニング セットに過剰適合する可能性があることです。

(4)情報的オーバーサンプリング:合成少数派オーバーサンプリング技術(SMOTE)

この手法は、少数クラスのインスタンスを単純にコピーしてメイン データセットに追加するときに、過剰適合を回避するために使用できます。データのサブセットが少数クラスからインスタンスとして取得され、同様の新しい合成インスタンスが作成されます。これらの合成インスタンスは元のデータセットに追加されます。新しいデータセットは、分類モデルをトレーニングするためのサンプルとして使用されます。

  • 合計観測数 = 1000
  • 不正な観察 = 20
  • 不正行為ではない観察 = 980
  • イベント率 = 2%

少数クラスから 15 個のインスタンスをサンプルとして取り出し、同様の合成インスタンスを 20 回生成します。

合成インスタンスを生成したら、次のデータセットを作成します。

  • 少数派クラス(不正な観察) = 300
  • 多数派クラス(不正のない観察) = 980
  • イベント率 = 300/1280 = 23.4 %

アドバンテージ

  • 過剰適合の問題は、インスタンスのコピーではなく合成サンプルをランダムにサンプリングすることで軽減できます。
  • 貴重な情報は失われません。

欠点

  • 合成インスタンスを生成する場合、SMOTE は他のクラスの隣接インスタンスを考慮しません。これによりクラスの重複が増加し、追加のノイズが発生する可能性があります。
  • SMOTE は高次元データにはあまり効果的ではありません。

図1: 合成少数派オーバーサンプリングアルゴリズム、Nは属性の数

図2: SMOTEによる合成インスタンス生成

(5)改良合成少数クラスオーバーサンプリング技術(MSMOTE)

これは、少数派クラスの根本的な分布とデータセット内の潜在的なノイズを考慮しない SMOTE の改良版です。そこで、SMOTEの効果を高めるために、MSMOTEが誕生しました。

アルゴリズムは、少数クラスのサンプルを、安全なサンプル、境界サンプル、潜在的なノイズ サンプルの 3 つのグループに分割します。分類は、少数クラスのサンプルとトレーニング データのサンプル間の距離を計算することによって行われます。安全なサンプルとは、分類器のパフォーマンスを向上できるデータ ポイントです。一方、ノイズは分類器のパフォーマンスを低下させる可能性のあるデータ ポイントです。その間にあるデータ ポイントは境界サンプルとして分類されます。

MSOMTE の基本的なプロセスは SMOTE と同じですが、MSMOTE では近傍を選択する戦略が SMOTE とは異なります。アルゴリズムは、セキュリティ サンプルから k 近傍データ ポイントをランダムに選択し、境界サンプルから最も近い近傍を選択し、潜在的なノイズ サンプルに対しては操作を実行しません。

2. アルゴリズムアンサンブル技術

上記のセクションでは、元のデータを再サンプリングしてバランスの取れたクラスを提供することで、不均衡なデータを処理する方法について説明しました。このセクションでは、既存の分類アルゴリズムを変更して不均衡なデータセットに適用できるようにするという代替アプローチについて説明します。

アンサンブル法の主な目的は、単一の分類器のパフォーマンスを向上させることです。この方法では、生データから複数の 2 レベル分類器を構築し、それらの予測を統合します。

図3: アンサンブルベースのアプローチ

(1)バギングベースの方法

Bagging は Bootstrap Aggregating の略です。従来のバギング アルゴリズムでは、置換によって「n」個の異なるブートストラップ トレーニング サンプルを生成し、予測を集約する前に各ブートストラップ アルゴリズムでアルゴリズムを個別にトレーニングします。

バギングは、過剰適合を減らして学習を改善し、正確な予測を生成するためによく使用されます。ブースティングとは異なり、バギング法ではブートストラップされたサンプルの置換が可能です。

図4: バギング法

  • 合計観測数 = 1000
  • 不正行為の観察 = 20
  • 不正行為ではない観察 = 980
  • イベント率 = 2%

母集団から 10 個のブートストラップ サンプルが復元選択されました。各サンプルには 200 個の観測値が含まれます。各サンプルは元のデータセットとは異なりますが、分布と変動の点では元のデータセットに似ています。機械学習アルゴリズム (ロジスティック回帰、ニューラル ネットワーク、決定木など) は、200 個の観測値のブートストラップ サンプルに適合され、分類器 c1、c2、... c10 が集約されて複合分類器が生成されます。このアンサンブル アプローチでは、個々の分類器の結果を組み合わせるため、より強力な複合分類器が生成されます。

アドバンテージ

  • 機械学習アルゴリズムの安定性と精度を向上
  • ばらつきを減らす
  • バッグ分類器の誤分類を減らす
  • ノイズの多いデータ環境では、バギングはブースティングよりも優れたパフォーマンスを発揮します。

欠点

  • バギングは、基本分類器のパフォーマンスが優れている場合にのみ機能します。誤分類によりパフォーマンスがさらに低下する可能性があります。

(2)ブースティングベースの方法

ブースティングは、弱い学習者を組み合わせて、正確な予測を行うことができる強い学習者を作成するアンサンブル手法です。ブースティングは、トレーニング データ上に準備された基本分類器/弱分類器から始まります。

基本学習器/分類器は弱い学習器です。つまり、その予測精度は平均よりわずかに優れているだけです。弱いとは、データに小さな変更があっても、分類モデルに大きな変更が生じることを意味します。

次の反復では、新しい分類器は、前のラウンドで誤分類されたケースに焦点を当てます。

図5: ブースティング法

a. アダプティブブースティング——Ada Boost

Ada Boost は、多くの弱く不正確なルールを組み合わせることで、非常に正確な予測を作成できる最も初期のブースティング手法です。各トレーナーは、前のラウンドで正しく分類されなかったインスタンスを各ラウンドで正しく分類することを目的として、連続的にトレーニングされます。

学習した分類器が強力な予測を行うには、次の 3 つの条件を満たす必要があります。

  • シンプルなルール
  • 分類器は十分な数の訓練例で訓練される
  • 訓練例における分類器の訓練誤差は十分に低い

それぞれの弱い仮説の精度はランダムな推測よりもわずかに優れています。つまり、誤差項 €(t) は ½-β よりわずかに大きくなります (β>0)。これはブースティング アルゴリズムの基本的な仮定であり、わずかな誤差のみで最終仮説を生成します。

各ラウンドの後に、分類がより難しいインスタンスにさらに注意を払います。この注目の度合いは重みによって測ることができます。最初はすべてのインスタンスの重みは同じですが、反復ごとに誤分類されたインスタンスの重みが増加し、正しく分類されたインスタンスの重みは減少します。

図6: 適応ブースティング法

たとえば、1000 個の観測値を含むデータセットがあり、そのうち 20 個が不正とマークされているとします。最初は、すべての観測値に同じ重み W1 が割り当てられ、基本分類器はそのうち 400 個を正しく分類しました。

次に、誤分類された 600 個の観測値の重みが W2 に増加され、正しく分類された 400 個のインスタンスの重みが W3 に減少されます。

各反復で、これらの更新された重み付けされた観測値が弱分類器に送られ、そのパフォーマンスが向上します。このプロセスは、誤分類率が大幅に減少し、強力な分類器が得られるまで継続されます。

アドバンテージ

実装が非常に簡単

一般化が容易 - あらゆるタイプの分類問題に適しており、過剰適合しにくい

欠点

  • ノイズの多いデータや外れ値に敏感

b. 勾配木ブースティング

勾配ブースティングでは、多くのモデルが順番にトレーニングされます。これは、各モデルが勾配降下法を使用して損失関数 y = ax+b+e を最小化する数値最適化アルゴリズムです。

勾配ブースティングでは、決定木が弱学習器として使用されます。

Ada ブースティングと勾配ブースティングはどちらも弱い学習者/分類器に作用し、それらを強い学習者にしようとしますが、2 つのアプローチにはいくつかの重要な違いがあります。 Ada Boost では、実際のトレーニング プロセスの前に、ユーザーが弱学習器のセットを指定するか、弱学習器をランダムに生成する必要があります。各学習者の重みは、各ステップで分類を正しく実行したかどうかに基づいて調整されます。一方、勾配ブースティングでは、サンプルを予測するためにトレーニング データセット上に最初の学習器を構築し、損失 (つまり、真の値と最初の学習器の出力の差) を計算し、この損失を使用して第 2 段階で改善された学習器を構築します。

各ステップで、損失関数の残差は勾配降下法を使用して計算され、新しい残差が後続の反復のターゲット変数になります。

勾配ブースティングは、SAS Miner と GBM パッケージの勾配ブースティング ノードを使用して R に実装できます。

図7: 勾配ブースティング法

たとえば、1,000 個の観測値を含むトレーニング データセットがあり、そのうち 20 個が不正とラベル付けされており、初期の基本分類器があるとします。ターゲット変数は Fraud です。トランザクションが不正な場合、Fraud = 1 になります。トランザクションが不正でない場合は、Fraud = 0 になります。

たとえば、決定木は、5 つの観測値のみを不正であると正しく分類するケースに適合します。次に、そのステップの実際の出力と予測出力の差に基づいて、微分可能な損失関数が計算されます。この損失関数の残差は、次の反復のターゲット変数 F1 になります。

同様に、アルゴリズムは内部的に損失関数を計算し、各段階で目的を更新し、初期分類器に基づいて改善された分類器を提案します。

欠点

  • 勾配ブースティングツリーはランダムフォレストよりも適合が難しい
  • 勾配ブースティング アルゴリズムには通常、縮小パラメータ、ツリーの深さ、ツリーの数という、微調整可能な 3 つのパラメータがあります。適切に適合させるには、各パラメータを適切にトレーニングする必要があります。これらのパラメータが適切に調整されていない場合、過剰適合が発生する可能性があります。

c. XGBoost

XGBoost (Extreme Gradient Boosting) は、Gradient Boosting アルゴリズムのより高度で効率的な実装です。

他のブースティング技術と比較した利点:

  • 並列処理が可能なため、通常の Gradient Boosting よりも 10 倍高速です。ユーザーが最適化の目的と評価基準をカスタマイズできるため柔軟性が高く、欠損値を処理するためのメカニズムが組み込まれています。
  • 負の損失に遭遇するとノードの分割を停止する Gradient Boosting とは異なり、XGBoost は指定された最大深度まで分割してからツリーを逆方向に剪定し、負の損失が 1 つしかない分割を削除します。

XGBoost は、R および Python の XGBoost パッケージを使用して実装できます。

3. 実際の事例

1. データの説明

この例では、47,241 件の顧客レコードを含む通信会社のデータ セットを使用します。各レコードには、27 個の主要な予測変数に関する情報が含まれています。

稀少事象データセットのデータ構造は、欠損値の削除、外れ値の処理、次元削減である。

データセットをここからダウンロードしてください:

https://static.analyticsvidhya.com/wp-content/uploads/2017/03/17063705/SampleData_IMC.csv

2. 方法の説明

合成少数オーバーサンプリング手法 (SMOTE) を使用して不均衡なデータセットのバランスをとる – この手法では、合成例を作成することでデータセットのバランスをとろうとします。次の R コードは、勾配ブースティング アルゴリズムを使用してバランスの取れたデータ セットをトレーニングする方法を示す例として使用されます。

  1. Rコード
  2. # データを読み込む
  3. rareevent_boost < - read.table("D:/Upasana/RareEvent/churn.txt", sep = "|" , header = TRUE )
  4. dmy < -dummyVars ("~.",データ= rareevent_boost )
  5. レアイベントTrsf < -data.frame (予測(dmy、新しいデータ=レアイベント_boost ))
  6. シード値(10)
  7. サブ< -サンプル(nrow(rareeventTrsf)、floor(nrow(rareeventTrsf) * 0.9))
  8. サブ1 < -サンプル(nrow(rareeventTrsf)、floor(nrow(rareeventTrsf) * 0.1))
  9. トレーニング< - rareeventTrsf [sub, ]
  10. テスト< - rareeventTrsf [-sub, ]
  11. トレーニングサブ< -レアイベントTrsf [サブ1, ]
  12. テーブル(トレーニングサブ)
  13. ヘッド(トレーニングサブ)
  14. # 不均衡なデータセットの場合 #
  15. install.packages("不均衡")
  16. ライブラリ(不均衡)
  17. データ(ubIonosphere)
  18. n < -ncol (レアイベントブースト)
  19. 出力< - rareevent_boost $CHURN_FLAG
  20. 出力< -as.factor (出力)
  21. 入力< -レアイベントブースト [ ,-n]
  22. 表示(入力)
  23. # ubSMOTE を使用してデータセットのバランスをとる #
  24. データ< -ubBalance ( X =入力 Y =出力 type = "ubSMOTE" percOver = 300 percUnder = 150 verbose = TRUE  
  25. 表示(データ)
  26. # バランスの取れたデータセット #
  27. balancedData < -cbind (データ$X、データ$Y)
  28. 表示(バランスデータ)
  29. テーブル(balancedData$CHURN_FLAG)
  30. # モデルをトレーニングするためのバランスの取れたデータセットを作成します #
  31. write.table(balancedData,"D:/Upasana/RareEvent/balancedData.txt", sep = "\t" , row.names = FALSE )
  32. # ブースティングツリーモデルの作成 #
  33. NAsWithMean を置き換える< - function(x) {x, is.na(x), mean(x[!is.na(x)]))}
  34. トレーニング< - repalceNAsWithMean(トレーニング)
  35. テスト< - repalceNAsWithMean(テスト)
  36. # 再サンプリング手法 #
  37. 表示(train_set)
  38. fitcontrol < -trainControl (メソッド= "repeatedcv" 数値= 10 繰り返し= 1 冗長= FALSE )
  39. gbmfit < -train (CHURN_FLAG~.、データ= balancedData メソッド= "gbm" 詳細= FALSE )
  40. # テストデータのスコアリング #
  41. テスト$ score_Y = predict (gbmfit, newdata = testing , type = "prob" )[,2]
  42. テスト$ score_Y = ifelse (テスト$ score_Y > 0.5,1,0)
  43. ヘッド(テスト、 n = 10 )
  44. write.table(testing,"D:/ Upasana/RareEvent /testing.txt", sep = "\t" , row.names = FALSE )
  45. pred_GBM < -予測(テスト$score_Y、テスト$CHURN_FLAG)
  46. # モデルのパフォーマンス #
  47. model_perf_GBM < -パフォーマンス(pred_GBM、"tpr"、"fpr")
  48. model_perf_GBM1 < -パフォーマンス(pred_GBM、"tpr"、"fpr")
  49. モデル_パフォーマンス_GBM
  50. pred_GBM1 < -as.data.frame (model_perf_GBM)
  51. auc.tmp_GBM < -パフォーマンス(pred_GBM,"auc")
  52. AUC_GBM < - as.numeric([email protected])
  53. auc.tmp_GBM は、

結果

バランスの取れたデータセットで SMOTE を使用し、勾配ブースティング アルゴリズムをトレーニングするこのアプローチにより、予測モデルの精度が大幅に向上します。一般的な分析モデリング手法 (ロジスティック回帰や決定木など) と比較すると、この方法ではリフトが 20% 増加し、精度が 3 ~ 4 倍になります。

IV. 結論

不均衡なデータセットに直面した場合、予測モデルの精度を向上させるためのワンストップソリューションは存在しません。データセットに最適なサンプリング手法を見つけるには、複数のアプローチを試す必要がある場合があります。ほとんどの場合、SMOTE や MSMOTE などの合成技術は、従来のオーバーサンプリングやアンダーサンプリングの方法よりも優れたパフォーマンスを発揮します。

より良い結果を得るには、Gradeint ブースティングや XGBoost とともに、SMOTE や MSMOTE などの合成サンプリング手法を使用できます。

不均衡なデータセットの問題を解決するためによく使用される高度なバギング手法の 1 つが SMOTE バギングです。このアプローチでは、各 Bag/Bootstrap を作成するために、従来のバギング手法とはまったく異なるアプローチを採用しています。各反復で SMOTE 再サンプリング レートを設定することにより、SMOTE アルゴリズムを介して正の例を生成できます。各反復で、負の例セットがブートストラップされます。

最も効果的な手法は、不均衡なデータセットの特性によって異なります。モデルを比較する際には、関連する評価パラメータを考慮する必要があります。

上記の技術を総合的に組み合わせて構築された複数の予測モデルを比較する場合、Lift と ROC 曲線の下の領域が最適なモデルを決定する役割を果たします。

この記事の著者は、KPMG のデータ分析コンサルタントである Upasana Mukherjee です。

元記事のアドレス: https://www.analyticsvidhya.com/blog/2017/03/imbalanced-classification-problem/

[この記事は、51CTOコラムニストのMachine Heart、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  音声認識、マッチングアルゴリズム、モデルに関する簡単な説明

>>:  平昌オリンピックに向けたパイロットプロジェクトとして5Gバスとドローンがデビュー

ブログ    

推薦する

わかりやすい! 「高校数学」勾配降下法の数学的原理を理解する

「時期尚早な最適化は諸悪の根源である。」 —ドナルド・アーヴィン・クヌース、コンピュータ科学者、数...

...

...

機械学習におけるモデルドリフト

今日、機械学習モデルはビジネス上の意思決定の主な原動力となっています。他のビジネス戦略と同様に、これ...

...

教育業界における自動問題解決と適応学習AIの応用

[51CTO.comより引用] 近年、人工知能が大流行し、多くの大企業、中堅企業、中小企業が動き始め...

NLP がヘルスケアにおける AI の価値を実現する方法

複雑な AI モデルを学習するには膨大な量のデータが必要であり、ヘルスケア データは全データのほぼ ...

ビッグデータと AI を現代の教育とどのように組み合わせることができるでしょうか?

転載は歓迎しますが、署名し、「劉鵬の未来を見つめる」公開アカウントからの転載であることを明記し、この...

量産型マスターコントロールチップのネットワークセキュリティ設計

「サイバーセキュリティ」という用語は、ネットワークシステムにおけるハードウェア、ソフトウェア、データ...

...

...

個人情報保護における人工知能データの役割

世界中で人工知能の大規模な構築と応用の発展が加速する中、近年、人工知能ガバナンスの問題が社会の関心を...

デジタルヒューマンがアジア競技大会の聖火を灯す:ICCV 論文から見る Ant の生成 AI テクノロジーの新たな一面

9月23日夜、杭州アジア競技大会の開会式でメイントーチに火が灯されると、数億人のオンラインデジタル聖...

スタンフォード大学の学生が出会い系アプリをハッキング! GAN モデルを使用して男性に変装し、顔認識システムを欺く

誰かが本当にあなたの顔を真似して、顔認識システムを回避できるのです! 最近、スタンフォード大学の研究...

金融業界がビッグモデルの導入を遅らせているのはなぜでしょうか?

ChatGPTの登場以来、金融業界はたちまち不安に陥っています。テクノロジーを信頼するこの業界は、...