不均衡なデータを処理する Python ライブラリ トップ 10

不均衡なデータを処理する Python ライブラリ トップ 10

データの不均衡は機械学習における一般的な課題であり、あるクラスの数が他のクラスを大幅に上回り、偏ったモデルや不十分な一般化につながる可能性があります。不均衡なデータを効率的に処理するのに役立つさまざまな Python ライブラリがあります。この記事では、機械学習で不均衡なデータを処理するための上位 10 個の Python ライブラリを紹介し、各ライブラリのコード スニペットと説明を提供します。

1. 不均衡な学習

imbalanced-learn は、データセットの再バランス調整のためのさまざまな手法を提供する scikit-learn の拡張機能です。オーバーサンプリング、アンダーサンプリング、および組み合わせ方式を提供します。

 from imblearn.over_sampling import RandomOverSampler ros = RandomOverSampler() X_resampled, y_resampled = ros.fit_resample(X, y)

2. スモート

SMOTE はデータセットのバランスをとるために合成サンプルを生成します。

 from imblearn.over_sampling import SMOTE smote = SMOTE() X_resampled, y_resampled = smote.fit_resample(X, y)

3. アダシン

ADASYN は、いくつかのサンプルの密度に基づいて合成サンプルを適応的に生成します。

 from imblearn.over_sampling import ADASYN adasyn = ADASYN() X_resampled, y_resampled = adasyn.fit_resample(X, y)

4. ランダムアンダーサンプラー

RandomUnderSampler は、多数派クラスからサンプルをランダムに削除します。

 from imblearn.under_sampling import RandomUnderSampler rus = RandomUnderSampler() X_resampled, y_resampled = rus.fit_resample(X, y)

5. トメックリンク

Tomek Linksは、異なるクラスの最も近い隣接ペアを削除し、複数のサンプルの数を減らすことができます。

 from imblearn.under_sampling import TomekLinks tl = TomekLinks() X_resampled, y_resampled = tl.fit_resample(X, y)

6. SMOTEENN (SMOTE + 編集された最近傍)

SMOTEENN は SMOTE と Edited Nearest Neighbors を組み合わせたものです。

 from imblearn.combine import SMOTEENN smoteenn = SMOTEENN() X_resampled, y_resampled = smoteenn.fit_resample(X, y)

7. SMOTETomek (SMOTE + Tomek リンク)

SMOTEENN は、オーバーサンプリングとアンダーサンプリングのために SMOTE と Tomek Links を組み合わせます。

 from imblearn.combine import SMOTETomek smotetomek = SMOTETomek() X_resampled, y_resampled = smotetomek.fit_resample(X, y)

8. イージーアンサンブル

EasyEnsemble は、多数派クラスのバランスの取れたサブセットを作成するアンサンブル メソッドです。

 from imblearn.ensemble import EasyEnsembleClassifier ee = EasyEnsembleClassifier() ee.fit(X, y)

9. バランスランダムフォレスト分類器

BalancedRandomForestClassifier は、ランダム フォレストとバランスのとれたサブサンプリングを組み合わせたアンサンブル メソッドです。

 from imblearn.ensemble import BalancedRandomForestClassifier brf = BalancedRandomForestClassifier() brf.fit(X, y)

10. RUSBoost分類器

RUSBoostClassifier は、ランダム アンダーサンプリングとブースティングを組み合わせたアンサンブル メソッドです。

 from imblearn.ensemble import RUSBoostClassifier rusboost = RUSBoostClassifier() rusboost.fit(X, y)

要約する

不均衡なデータに対処することは、正確な機械学習モデルを構築する上で非常に重要です。これらの Python ライブラリは、この問題に対処するためのさまざまなテクニックを提供します。データセットと問題に応じて、データを効果的にバランスさせる最も適切な方法を選択できます。

<<:  チンチラの死: 十分に訓練すれば小型モデルでも大型モデルを上回る性能を発揮できる

>>:  ガウス混合モデルを用いた多峰性分布の分離

ブログ    

推薦する

1.3MB の超軽量 YOLO アルゴリズム!すべてのプラットフォームで利用可能、45% 高速 | オープンソース

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

人工知能と教育や指導が出会うと、どんな火花が散るでしょうか?

人工知能は世界第4次産業革命であり、工業、医療などの分野での応用が拡大しています。オンライン教育の普...

...

...

レポート: Meta の Llama 2 と OpenAI の ChatGPT の「オープンソース」は透明性に欠ける

オランダのラドバウド大学は8月2日、MetaやOpenAIなどの企業が「オープンソース」という用語を...

最も強力な AI 搭載スマートフォンに関する神の視点: iPhone X

世界中で人気のiPhone Xがついに登場。バージョン番号を埋めるためだけに名付けられたiPhone...

AIが産業のデジタル変革をどのように促進するか

多くの産業企業は実際に必要な量よりも多くのデータを保有していますが、人工知能への取り組みは期待を下回...

...

...

エンタープライズ ソフトウェア ベンダーのジェネレーティブ AI への取り組み

2023 年は生成 AI テクノロジーが爆発的に普及した年であり、ChatGPT などのツールが研究...

...

お金は人を幸せにできるのでしょうか?機械学習を使って答えを見つける方法を教えます

機械学習システムを分類する 1 つの方法は、一般化の程度によって分類することです。ほとんどの機械学習...

AI はどのようにして人間の会話の内容を認識するのでしょうか?マイクロソフト研究チームがお伝えします

[[280027]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...

アルゴリズムの練習: 数独の基本解法

数独は紙とペンを使って遊ぶ論理ゲームです。プレイヤーは、9×9 のボード上の既知の数字に基づいて残り...