跳转到主要内容

机器学习中不平衡数据集的工具箱。

项目描述

Azure Codecov CircleCI PythonVersion Pypi Gitter Black

imbalanced-learn

imbalanced-learn是一个python包,提供了一系列在存在强类别不平衡的数据集中常用的重采样技术。它与scikit-learn兼容,并是scikit-learn-contrib项目的一部分。

文档

安装文档、API文档和示例可以在文档中找到。

安装

依赖项

imbalanced-learn需要以下依赖项

  • Python (>= 3.8)

  • NumPy (>= 1.17.3)

  • SciPy (>= 1.5.0)

  • Scikit-learn (>= 1.0.2)

此外,imbalanced-learn还需要以下可选依赖项

  • Pandas (>= 1.0.5) 用于处理数据帧

  • Tensorflow (>= 2.4.3) 用于处理TensorFlow模型

  • Keras (>= 2.4.3) 用于处理Keras模型

示例需要以下额外依赖项

  • Matplotlib (>= 3.1.2)

  • Seaborn (>= 0.9.0)

安装

从PyPi或conda-forge仓库中获取

imbalanced-learn目前在PyPi的仓库中可用,您可以通过pip安装它

pip install -U imbalanced-learn

该软件包也发布在Anaconda Cloud平台上

conda install -c conda-forge imbalanced-learn
从GitHub上的源代码获取

如果您愿意,可以克隆它并运行setup.py文件。使用以下命令从GitHub获取副本并安装所有依赖项:

git clone https://github.com/scikit-learn-contrib/imbalanced-learn.git
cd imbalanced-learn
pip install .

请注意,您可以使用以下命令以开发者模式进行安装:

pip install --no-build-isolation --editable .

如果您想在GitHub上提交pull请求,我们建议您安装pre-commit。

pip install pre-commit
pre-commit install

测试

安装后,您可以使用pytest运行测试套件。

make coverage

开发

此scikit-learn-contrib的开发与scikit-learn社区的开发保持一致。因此,您可以参考他们的开发指南

关于

如果您在科学出版物中使用imbalanced-learn,我们将感谢您引用以下论文:

@article{JMLR:v18:16-365,
author  = {Guillaume  Lema{{\^i}}tre and Fernando Nogueira and Christos K. Aridas},
title   = {Imbalanced-learn: A Python Toolbox to Tackle the Curse of Imbalanced Datasets in Machine Learning},
journal = {Journal of Machine Learning Research},
year    = {2017},
volume  = {18},
number  = {17},
pages   = {1-5},
url     = {http://jmlr.org/papers/v18/16-365}
}

大多数分类算法仅在每类的样本数量大致相同的情况下才能发挥最佳性能。高度倾斜的数据集,其中少数类被一个或多个类大量超过,已被证明是一个挑战,同时变得越来越常见。

解决此问题的一种方法是对数据集进行重新采样,以减少这种不平衡,并希望获得比其他情况下更稳健、更公平的决策边界。

您可以通过参考imbalanced-learn文档来找到有关实现的算法的详细信息。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

imbalanced-learn-0.12.4.tar.gz (478.4 kB 查看散列)

上传时间

构建分发

imbalanced_learn-0.12.4-py3-none-any.whl (258.3 kB 查看散列)

上传时间 Python 3

由以下支持