也许我相当愚蠢,但我找不到令人满意的答案:使用KNN算法,比如k = 5 . 现在我尝试通过获取其最近的5个邻居来对未知对象进行分类 . 该怎么做,如果在确定4个最近邻居后,接下来的2个(或更多)最近的物体具有相同的距离?应该选择这两个或更多的哪个对象作为第五个最近邻居?
提前致谢 :)
另一个有趣的选择是像这样使用最近的邻居:
您计算每个类的5个最近邻居与样本的距离:每个类距离将有5个距离 .
然后你得到每个 class 的平均距离 .
较低的平均距离将是您将分配给样本的类 .
这种方式对于重叠的类的数据集有效 .
如果你有另一个距离功能,你可以用它打破平局 . 即使是坏人也可以胜任,如果你有一些启发式的话,那就更好了 . 例如,如果您知道计算主要距离的某个功能更重要,则只使用此功能来解决这个问题 .
如果不是这样的话,随意挑选 . 在相同的测试集上运行几次你的程序,以检查随机选择是否重要 .
也许你可以尝试模糊的knn . 对于k的选择,我认为应该进行大量的实验以获得最佳的分类结果 .
如果您有k = 5,则查看前五个记录,查看这五个记录中最常见的结果 . 很可能你会得到两对会让你陷入困境并且很难,因为那样你就有了50/50的几率 .
这使生活充满挑战 . 那你怎么选择k的值呢?事后可以使用一些指标来分析结果,但是没有严格的k必须规则,所以我会简单地开始并坚持使用k = 3而不是k = 5然后向下通过查看预测的实际准确性,本文将探讨一些可以帮助您优化k值的策略 .
应该选择这两个或更多的哪个对象作为第五个最近邻居?
这实际上取决于您希望如何实现它 .
大多数算法都会执行以下三种操作之一:
包括所有等距离点,因此对于此估计,它们将使用6个点,而不是5个点 .
使用两个相等距离的"first"找到的点 .
从找到的2个点中选择一个随机的(通常具有一致的种子,因此结果是可重现的) .
话虽这么说,大多数基于径向搜索的算法都有一个固有的平稳性假设,在这种情况下,你选择上面哪个选项真的无关紧要 . 一般来说,理论上它们中的任何一个都应该提供合理的默认值(特别是因为它们是近似中的最远点,并且应该具有最低的有效权重) .
5 回答
另一个有趣的选择是像这样使用最近的邻居:
您计算每个类的5个最近邻居与样本的距离:每个类距离将有5个距离 .
然后你得到每个 class 的平均距离 .
较低的平均距离将是您将分配给样本的类 .
这种方式对于重叠的类的数据集有效 .
如果你有另一个距离功能,你可以用它打破平局 . 即使是坏人也可以胜任,如果你有一些启发式的话,那就更好了 . 例如,如果您知道计算主要距离的某个功能更重要,则只使用此功能来解决这个问题 .
如果不是这样的话,随意挑选 . 在相同的测试集上运行几次你的程序,以检查随机选择是否重要 .
也许你可以尝试模糊的knn . 对于k的选择,我认为应该进行大量的实验以获得最佳的分类结果 .
如果您有k = 5,则查看前五个记录,查看这五个记录中最常见的结果 . 很可能你会得到两对会让你陷入困境并且很难,因为那样你就有了50/50的几率 .
这使生活充满挑战 . 那你怎么选择k的值呢?事后可以使用一些指标来分析结果,但是没有严格的k必须规则,所以我会简单地开始并坚持使用k = 3而不是k = 5然后向下通过查看预测的实际准确性,本文将探讨一些可以帮助您优化k值的策略 .
这实际上取决于您希望如何实现它 .
大多数算法都会执行以下三种操作之一:
包括所有等距离点,因此对于此估计,它们将使用6个点,而不是5个点 .
使用两个相等距离的"first"找到的点 .
从找到的2个点中选择一个随机的(通常具有一致的种子,因此结果是可重现的) .
话虽这么说,大多数基于径向搜索的算法都有一个固有的平稳性假设,在这种情况下,你选择上面哪个选项真的无关紧要 . 一般来说,理论上它们中的任何一个都应该提供合理的默认值(特别是因为它们是近似中的最远点,并且应该具有最低的有效权重) .