从训练集中删除重复项以进行分类


9

假设我有很多关于分类问题的行:

X1,...XN,Y

其中是 /预测变量,是该行的要素组合所属的类。X1,...,XNY

许多特征组合及其类在数据集中重复进行,我正在使用它来拟合分类器。我只是想知道是否可以删除重复项(我基本上group by X1 ... XN Y在SQL中执行a )?谢谢。

PS:

这是针对仅二进制存在的数据集,其中类先验非常偏斜

Answers:


13

不,这是不可接受的。重复是提供证据权重的原因。

如果删除重复项,则四叶三叶草与常规三叶三叶草同等重要,因为每棵三叶草会发生一次,而在现实生活中,每10,000颗三叶草中就有四叶三叶草。

正如您所说,即使您的先验知识“非常歪斜”,训练集的目的也是为了积累现实生活的经验,如果您丢失频率信息,您将无法获得这些经验。


1

我同意先前的回答,但这是我的保留。建议在分离样本以进行训练和测试特定分类器(例如决策树)的同时删除重复项。假设您的数据中有20%属于特定类别,而其中的属于测试类别,那么诸如决策树之类的算法将创建具有重复样本的该类别的网关。这可能会在测试集上产生误导性的结果,因为从本质上讲,对于正确的输出存在非常特定的网关14th

当您将分类器部署到全新数据时,如果没有类似于上述20%样本的样本,则分类器的表现可能会非常差。

论点:有人可能会说这种情况指向有缺陷的数据集,但我认为这对现实生活的应用程序是正确的。

删除神经网络,贝叶斯模型等的重复项是不可接受的。


另一个可行的解决方案可能是根据重复项的出现频率来降低​​重复项的权重。
Rakshit Kothari '18年
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.