首页 文章

kNN中一点的最远点

提问于
浏览
0

kNN classifier的文档中,有一个方法kneighbors,它返回k个最近邻居 . 我感兴趣的是如何优雅地在这样的分类器中返回k最远的邻居?

2 回答

  • 2

    可以轻松修改许多空间索引(四叉树,R树,...)以支持最远的邻居查询 . 一种常见的算法描述为here(参见第4.5节) . 但是,大多数人不支持开箱即用 .

    如果您正在使用kd-tree,那么,正如另一张海报所说,可能无法有效地执行此操作 .

    另一种选择可能是CoverTree,我不认为Hjaltason / Samet的算法会在那里工作,但你不太可能需要搜索整棵树 .

    如果你真的必须使用它,我也不确定scikit-learn提供了哪些选项 .

  • 0

    不,没有这样的能力 .

    你需要记住,为了性能,会有一棵树来获得最近的邻居 . 试图找到最远的意思是通过整个树,基本上计算所有距离 .

    因此,在这种情况下不要使用kNN,只需计算距离并对它们进行排序 .

相关问题