Balanced-learn 是一個 Python 套件,提供了許多在顯示強烈類間不平衡的資料集中常用的重採樣技術。它與 scikit-learn 相容,並且是 scikit-learn-contrib 專案的一部分。
安裝文件、API文件和範例都可以在文件中找到。
不平衡學習需要以下相依性:
Python (>= 3.10)
NumPy (>= 1.24.3)
SciPy (>= 1.10.1)
Scikit 學習 (>= 1.2.2)
pytest (>= 7.2.2)
此外,不平衡學習需要以下可選依賴項:
Pandas (>= 1.5.3) 用於處理資料幀
Tensorflow (>= 2.13.1) 用於處理 TensorFlow 模型
Keras (>= 3.0.5) 用來處理 Keras 模型
這些範例將需要以下附加相依性:
Matplotlib (>= 3.7.3)
Seaborn (>= 0.12.2)
不平衡學習目前在 PyPi 的儲存庫中可用,您可以透過 pip 安裝它:
pip install -U 不平衡學習
該軟體套件也在 Anaconda Cloud 平台中發布:
conda install -c conda-forge 不平衡學習
如果您願意,可以克隆它並運行 setup.py 檔案。使用以下命令從 Github 取得副本並安裝所有依賴項:
git 克隆 https://github.com/scikit-learn-contrib/imbalanced-learn.git cd 不平衡學習 點安裝。
請注意,您可以透過以下方式在開發人員模式下安裝:
pip install --no-build-isolation --editable 。
如果您希望在 GitHub 上發出拉取請求,我們建議您安裝預先提交:
pip install 預提交 預提交安裝
安裝後,您可以使用 pytest 執行測試套件:
進行報道
這個 scikit-learn-contrib 的開發與 scikit-learn 社區的發展是一致的。因此,您可以參考他們的開髮指南。
我們認可科學 Python 生態系統協調組織 (SPEC) 的良好實踐。完整的建議清單可在此處找到。
請參閱下面我們認可的不平衡學習項目的建議清單。
如果您在科學出版物中使用不平衡學習,我們將不勝感激引用以下論文:
@文章{JMLR:v18:16-365, 作者 = {Guillaume Lema{{^i}}tre 和 Fernando Nogueira 和 Christos K. Aridas}, title = {Imbalanced-learn:解決機器學習中不平衡資料集詛咒的 Python 工具箱}, 期刊 = {機器學習研究雜誌}, 年 = {2017}, 體積 = {18}, 數字={17}, 頁數 = {1-5}, 網址 = {http://jmlr.org/papers/v18/16-365} }
大多數分類演算法只有在每個類別的樣本數量大致相同時才會發揮最佳效能。高度傾斜的資料集(即少數群體的數量遠遠落後於一個或多個類別)已被證明是一項挑戰,同時也變得越來越常見。
解決此問題的一種方法是對資料集進行重新取樣,以抵消這種不平衡,希望獲得比其他方式更穩健和公平的決策邊界。
您可以參考不平衡學習文件來查找有關已實現演算法的詳細資訊。