【AI知识点】imblearn 处理不平衡数据的 Python 库

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】


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