imblearn(全称 imbalanced-learn)是一个用于 处理类别不平衡数据集 的 Python 库,通常用于分类问题,其中某些类别的样本数远远少于其他类别(如欺诈检测、医疗诊断等)。
1. 安装 imblearn
如果尚未安装,可以使用以下命令:
pip install imbalanced-learn
imblearn 依赖 scikit-learn,确保已安装:
pip install scikit-learn
2. 主要功能
a. 过采样(Oversampling)
过采样用于 增加少数类样本,常见方法包括:
- RandomOverSampler(随机过采样)
- SMOTE(合成少数类过采样,Synthetic Minority Over-sampling Technique)
- ADASYN(自适应合成过采样)
示例:使用 SMOTE 进行过采样
from imblearn.over_sampling import SMOTE
from collections import Counter
from sklearn.datasets import make_classification
# 生成不平衡数据集
X, y = make_classification(n_classes=2, weights=[0.9, 0.1