如何处理k-Nearest Neighbor算法中的重复数据点?

时间:2015-11-03 20:15:58

标签: machine-learning classification prediction knn

我有一个大型数据集,我正在运行k-Nearest Neighbor分类算法。考虑一个场景k = 3,我有一个新的(未分类的)点'x',我找到3个最近的邻居n1,n2,n3。

问题是如果n1,n2,n3都具有完全相同的特征,即它们是重复的数据点。在我的情况下,这是一个电影数据库,其中n1,n2,n3是三个观看完全相同的电影,相同次数的客户。

那么我必须单独考虑它们吗?或者我应该将它们视为一个数据点并寻找另外两个独特的数据点?

2 个答案:

答案 0 :(得分:1)

两者都不比另一个更正确。

在数学上,通常假设具有相同特征的点是相同的点。但是它可能有多个标签和权重,因此处理起来会更加昂贵。

直观地,从数据库视图来看, k 最近邻居应该是 k 对象,无论它们是否相同。事实上 不止一个“乔治布什总统”。为什么合并他们?如果你想要更多的物体,你应该选择更大的k。

选择您喜欢的,但不要假设每个人做出同样的决定。

答案 1 :(得分:0)

这取决于你使用它的目的。

如果您试图查看谁观看了相同次数的相同电影,那么您希望将它们视为离散点,因为尽管它们是重复的点,但它们仍然是最近的邻居。

如果要查看观看电影的次数总和,则应将重复的点视为一个点。

希望这有帮助, --Varun