在机器学习任务中,样本均衡化是一个常见的挑战。当不同类别的样本数量差异较大时,模型的表现可能会受到影响。为了解决这个问题,可以使用过采样和欠采样技术来调整样本分布,使其更加均衡。本文将介绍两种常用的样本均衡化方法:SMOTE(Synthetic Minority Over-sampling Technique)和随机采样,并提供相应的源代码。
- SMOTE(Synthetic Minority Over-sampling Technique)
SMOTE是一种过采样技术,它通过合成新的少数类样本来增加样本数量,以达到样本均衡化的目的。SMOTE算法的基本思想是对于每个少数类样本,从其K近邻中选择若干个样本点,然后在这些样本点之间进行插值,生成新的少数类样本。
下面是使用Python实现的SMOTE算法示例代码:
from imblearn.over_sampling import SMOTE
# 假设X为特征矩阵,y为标签
X_resampled