有效的最近邻搜索稀疏矩阵

时间:2013-08-10 17:07:16

标签: python scipy scikit-learn nearest-neighbor

我有一大堆数据(文本),我已将其转换为稀疏的术语 - 文档矩阵(我使用scipy.sparse.csr.csr_matrix来存储稀疏矩阵)。我想找到,对于每个文件,前n个最近邻居匹配。我希望NearestNeighbor库中的Python scikit-learn例程(sklearn.neighbors.NearestNeighbor是精确的)可以解决我的问题,但是使用空间分区数据结构的有效算法,例如KD trees或{ {1}}不适用于稀疏矩阵。只有蛮力算法适用于稀疏矩阵(在我处理大型语料库时,这种情况不可行)。

稀疏矩阵的最近邻搜索是否有效(Python或其他任何语言)?

感谢。

2 个答案:

答案 0 :(得分:4)

迟到的答案:看看Locality-Sensitive-Hashing

提出了对scikit-learn的支持herehere

答案 1 :(得分:3)

您可以尝试使用TruncatedSVD将高维稀疏数据转换为低维密集数据,然后执行球树。

相关问题