我正在使用KNN的强力算法来查找我的Web服务中的最近邻居 . 这种方法的一个缺点是我需要在每台机器上有足够的内存来为KNN加载整个阵列 . 现在我正在考虑拆分数组,在许多机器上单独执行KNN,然后使用合并排序合并结果 . 但如果客户端需要创建大量连接来查询结果的每个部分,那么这将会很慢 .

我在 sklearn 的文档中读过像 KDTreeBalltree 这样的算法,我想知道我是否可以以某种方式分离数组,以便我可以快速检查我需要查找哪个数组部分来查找最近的邻居 .