【发布时间】:2014-02-09 05:39:46
【问题描述】:
我得到了 n 个固定点和 m 个查询点的坐标。我必须从 n 个固定点中找到 m 个查询点中每个查询点的 k 最近邻。为每个查询点单独查找距离是非常昂贵的。有没有有效的方法来做到这一点?
【问题讨论】:
-
数据的维度很重要。
标签: algorithm indexing machine-learning knn
我得到了 n 个固定点和 m 个查询点的坐标。我必须从 n 个固定点中找到 m 个查询点中每个查询点的 k 最近邻。为每个查询点单独查找距离是非常昂贵的。有没有有效的方法来做到这一点?
【问题讨论】:
标签: algorithm indexing machine-learning knn
有针对此类问题的快速索引结构,例如 KD Tree 或 Ball Tree。特别是 - scikit-learn (sklearn) 在他们的 knn 例程中实现它们 (http://scikit-learn.org/stable/modules/neighbors.html)
【讨论】:
如果您要计算平方和的平方根以获得距离,请尝试删除计算密集型的平方根。只需找到平方距离最近的那些 - 它们是相同的点。
【讨论】: