smote过采样python代码
时间: 2024-12-19 19:05:05 浏览: 5
SMOTE(Synthetic Minority Over-sampling Technique)是一种常用的过采样技术,用于处理不平衡数据集中的少数类别样本。它通过生成新的合成样本来增加少数类的实例数。以下是使用Python中的imbalanced-learn库实现SMOTE的一个简单示例:
```python
from imblearn.over_sampling import SMOTE
import pandas as pd
from sklearn.datasets import make_classification
# 创建一个简单的二分类数据集
X, y = make_classification(n_classes=2, class_sep=2,
weights=[0.1, 0.9], random_state=42)
# 创建SMOTE对象
smote = SMOTE(random_state=42)
# 使用SMOTE对特征X和标签y进行过采样
X_resampled, y_resampled = smote.fit_resample(X, y)
# 检查过采样后的数据分布
print("Original counts:", Counter(y))
print("Resampled counts:", Counter(y_resampled))
```
在这个例子中,`fit_resample`方法会对原始的X和y应用SMOTE,生成新的均衡化的数据集。记得先导入必要的库,并根据实际的数据结构调整。
阅读全文