【发布时间】:2017-08-28 00:58:14
【问题描述】:
假设我有多维数据集,其中有许多向量作为数据。我正在编写一个算法,它需要对所有这些向量进行 k 最近邻搜索 - 经典 KNN。但是,在我的算法中,我向整个数据集添加了新向量,并且需要将这些新向量包含到我的 KNN 搜索中。我想有效地做到这一点。我查看了 scikit-learn 的 KD 树和球树,但它们不允许插入(根据概念的性质)。我不确定 SR 树或 R 树是否会提供插入,但无论如何,我无法为超过 3D 的数据找到 Python 实现。
关于搜索,我可以使用查询“给我最近的向量”(所以 1-NN)或“给我所有比半径更近的向量”。
【问题讨论】:
-
Cross Validated 可能比这里更好。
-
@Antimony:用于机器学习的 stackexchange 网站太多了...
-
不完全。这是唯一的一个。
-
@Antimony:我在那里发帖。关于 SE 站点,我计算出至少 9 个:数据科学、人工智能、交叉验证、StackOverflow(因为很多 ML 是关于内部编程的)、mathSE、Mathoverflow(在某些情况下)、计算机科学(最后三个,例如用于运行时问题 - 可能涉及一些繁重的数学,但也可能涉及一些其他数学),软件工程,计算科学。对于每一个问题,我都能够提出非常适合这些 SE 网站的 ML 相关问题。
-
您可能会重写您的问题以使其适用于任何这些网站,但最好在 Cross Validated 上询问当前形式。如果您要询问调试或特定编程方面(在算法/模型设计阶段之后),那么 SO 确实是一个不错的选择。
标签: python algorithm vector knn