不平衡数据集的训练和测试

机器算法验证 机器学习 分类 交叉验证 数据集 不平衡类
2022-03-20 18:40:15

我的数据有 13,000 行,7% 属于少数类。我使用 SMOTE(Synthetic Minority Oversampling TEchnique)进行类平衡,这样我将少数类的比例提高到 42%,行数变为 12,655。现在为了拟合逻辑回归,我需要划分样本以进行交叉验证和测试。我尝试了两种方法:

  1. 在 SMOTE 之后获得的样本上训练我的数据,并在
    具有 13,000 行的原始样本上进行测试,
  2. 将SMOTE后得到的样本分成train和test,只对这个数据集进行拟合和测试。

使用第一种方法,我的结果可能会出现偏差,那么我应该采用哪种方法,为什么?

1个回答

重采样应该只应用于训练集,然后你应该在一个与总体具有相同类分布的子集上进行测试。如果您在测试集中对少数类进行过采样,您可能会获得更高的命中率,即比实际情况更好的性能,因为实际情况很少见。