使用KNN算法,设k=5。现在我试图通过获取它的5个最近邻来对一个未知对象进行分类。如果在确定了4个最近的邻居之后,接下来的2个(或更多)最近的对象具有相同的距离怎么办?在这2个或更多的对象中应该选择哪一个作为第5个最近的邻居?
使用KNN算法,设k=5。现在我试图通过获取它的5个最近邻来对一个未知对象进行分类。如果在确定了4个最近的邻居之后,接下来的2个(或更多)最近的对象具有相同的距离怎么办?在这2个或更多的对象中应该选择哪一个作为第5个最近的邻居?
另一种有趣的选择是使用最近邻算法,如下所示:
你需要计算每个类别中5个最近邻样本与待分类样本之间的距离:这样你就能得到每个类别中5个距离。
接下来,你需要获取每个类别的平均距离。
平均距离最小的类别即为该样本应被归入的类别。
对于数据集中存在重叠类别的情况,此方法非常有效。
如果你有k=5,你会查看前五条记录,找出其中最常见的结果。很可能你会得到两个相同的结果,这会让你陷入困境,因为你有50/50的机会得到每一对。
所以这使得生活变得具有挑战性。那么如何选择k的值呢?有一些指标可以用来分析结果,但没有严格的规定k必须是多少,所以我建议你刚开始时简单点,使用k=3而不是k=5,然后在未来探索一些策略,以帮助你优化k的值,通过查看你预测的实际准确性。
machine-learning
[标签信息](https://stackoverflow.com/tags/machine-learning/info)中的介绍和注意事项。 - desertnaut