我有一个相当小的 4 000 个点(140 个特征)的数据集来提供给 NN 二元分类器。问题是其中只有约 700 个代表第二类。重新采样整个数据集然后拆分,还是先拆分然后重新采样更常见?各自的优点或缺点是什么?
我目前的方法是试图获得接近 1:1 的比例(2:1 似乎也可以正常工作):
- 复制并添加属于第二类的元素最多 4 倍
- 将数据打乱并分成 80:20 的训练/测试集
我得到了似乎不错的结果,但我认为相同的数据点很可能出现在两组中这一事实可能会扭曲结果。这些是不同方法的预测。
2:1 过采样整组
对训练集进行 4 倍过采样
当然,考虑到大量数据,这个问题将不存在,但既然如此:对整个数据集进行过采样会产生对评估无效的结果吗?还是在处理小样本时它甚至是首选方法?
任何见解将不胜感激!
编辑:
这个问题似乎解决了一个类似的问题,并说对整个数据集进行过采样是一个坏主意。但是,它没有提及任何特定的分类器。此外,这里的数据并没有严重失衡。但这是一个小样本。
编辑二:ADASYN
我使用 ADASYN 算法生成合成样本。对整个集合进行采样会产生更准确的结果,但对训练集进行采样却是优柔寡断的。准确性更差,但预测本身看起来更好。

