假设我有一堆用于分类问题的行:
在哪里是特征/预测变量和是行的特征组合所属的类。
许多特征组合及其类在数据集中重复出现,我用它来拟合分类器。我只是想知道删除重复项是否可以接受(我基本上group by X1 ... XN Y
在 SQL 中执行)?谢谢。
PS:
这是针对类先验非常偏斜的仅二进制存在数据集
假设我有一堆用于分类问题的行:
在哪里是特征/预测变量和是行的特征组合所属的类。
许多特征组合及其类在数据集中重复出现,我用它来拟合分类器。我只是想知道删除重复项是否可以接受(我基本上group by X1 ... XN Y
在 SQL 中执行)?谢谢。
PS:
这是针对类先验非常偏斜的仅二进制存在数据集
不,这是不可接受的。重复提供了证据的分量。
如果您删除重复项,四叶草与普通三叶草一样重要,因为每个三叶草都会出现一次,而在现实生活中,每 10,000 颗普通三叶草就有一棵四叶草。
即使您的先验“非常偏斜”,正如您所说,训练集的目的是积累现实生活经验,如果丢失频率信息,您将无法实现。
我同意前面的回答,但这是我的保留意见。建议在分离样本以对特定分类器(例如决策树)进行训练和测试时删除重复项。比如说,你的 20% 的数据属于一个特定的类别,并且渗透到测试中的那些,然后诸如决策树之类的算法将使用重复样本创建通往该类的网关。这可能会在测试集上提供误导性结果,因为本质上存在一个非常特定的通往正确输出的网关。
当您将该分类器部署到全新的数据时,如果没有类似于上述 20% 样本的样本,它的表现可能会非常差。
争论:有人可能会争辩说这种情况指向一个有缺陷的数据集,但我认为这对于现实生活中的应用程序来说是正确的。
删除神经网络、贝叶斯模型等的重复项是不可接受的。