对过采样的不平衡数据进行测试分类


18

我正在处理严重不平衡的数据。在文献中,使用几种方法通过重新采样(过采样或欠采样)来重新平衡数据。两种好的方法是:

  • SMOTE:合成少数类过采样技术(SMOTE

  • ADASYN:用于失衡学习的自适应合成采样方法(ADASYN

我之所以实现ADASYN,是因为它具有自适应性并且易于扩展到多类问题。

我的问题是如何测试由ADASYN产生的过采样数据(或任何其他过采样方法)。在上述两篇论文中还不清楚他们如何进行实验。有两种情况:

1-对整个数据集进行过采样,然后将其拆分为训练和测试集(或交叉验证)。

2-拆分原始数据集后,仅对训练集执行过采样,然后对原始数据测试集进行测试(可以通过交叉验证执行)。

在第一种情况下,结果要比不进行过度采样好得多,但我担心是否存在过度拟合。在第二种情况下,结果比没有过采样的情况略好,但比第一种情况差得多。但是第二种情况的问题在于,如果所有少数族裔样本都进入测试集,那么过采样将不会带来任何好处。

我不确定是否还有其他设置可以测试此类数据。

Answers:


18

一些评论:

选项(1)是一个非常糟糕的主意。同一点的副本可能同时出现在训练和测试集中。这允许分类器作弊,因为在尝试对测试集进行预测时,分类器已经在训练集中看到了相同的点。拥有测试集和训练集的全部要点是测试集应独立于训练集。

ķ


感谢Stefan的回复。但我想澄清一点:我提到的方法创建数据的“合成”实例,与原始实例不完全相同。因此,这并不完全等同于我在相同的训练数据上进行测试。但是,我仍然不确定选项1是否有效。
票价

好的我明白了!即使(1)的问题仍然存在,即使您创建“合成”数据,因为合成数据通常与它要模仿的原始数据非常相似。
Stefan Wager

@StefanWager测试集的分布情况如何?它应该与原始数据集相同吗?
wannik 2014年

2
有任何文章支持该主张吗?
girl101

@stefan的方法是正确的,您永远不会扩充或综合您的验证集,因为那是您对模型学习方式的证明(测试),您需要原始数据才能这样做
M090009

8

第二(2)个选项是正确的方法。使用过采样技术创建的合成样本不是真实示例,而是合成的。这些虽然不能用于测试,但仍然可以接受培训。它们旨在修改分类器的行为,而无需修改算法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.