我有一个词袋的数据集。我随机选择一些点用于测试,其他点用于训练。
- 案例(1)我只是从测试集中获取每个数据点,并将其分类为与训练集中最近的点具有相同的类标签。
- 案例(2)我使用任何已知的监督分类器进行分类。
在情况(1)中我总是得到更好的识别率。也就是说,对于这个数据集(和其他),根本不做任何学习比使用任何监督学习要好!这是经常出现的情况吗?
我有一个词袋的数据集。我随机选择一些点用于测试,其他点用于训练。
在情况(1)中我总是得到更好的识别率。也就是说,对于这个数据集(和其他),根本不做任何学习比使用任何监督学习要好!这是经常出现的情况吗?
你没有做任何学习是不正确的。您正在做的是使用众所周知的分类算法,称为最近邻(NN)。重要的是要意识到,只要您使用训练数据(即使您没有明确计算某些参数),您就是在学习 - 在这种情况下,您肯定会使用它。
NN做得很好是可以的。但是,在某些情况下,这可能表明您的数据存在问题。当您的数据不是IID时,可能会发生这种情况。例如,在某些情况下,您的数据中可能有完全或接近的重复项。在这种情况下,测试集中的许多实例将在训练集中有一个近邻,您将获得很高的成功率,但实际上您过度拟合,因为如果您获得一个没有重复的新点,您的性能会更差。在这种情况下,您可以做的是尝试提前删除重复项,或者构建训练/测试集,使得重复项(或紧密集群)必须在同一个集合中。查看数据并尝试了解正在发生的事情很重要。