我正在寻找一个轻量级的Java库,它通过对位置敏感的散列来支持最近邻搜索,以便在具有数十万个数据点的高维(在我的例子中是32)数据集中几乎均匀分布的数据。
它完全可以获取一个存储桶中的所有条目来进行查询。在考虑到我的问题包括的一些过滤器参数的情况下,我真正需要的那些可能会以不同的方式进行处理。
我已经找到了likelike,但希望有更小的东西,并且不需要任何其他工具(就像中的Apache Hadoop )。
发布于 2014-02-24 15:44:33
也许是这个:
"TarsosLSH是一个Java库,实现了位置敏感散列( LSH ),这是一种在次线性时间内操作的多维矢量的实用最近邻搜索算法。它支持几个位置敏感散列(LSH)家族:欧几里德散列族(L2)、城市区块散列族(L1)和余弦散列族。该库试图在有足够能力完成实际任务和足够紧凑以作为LSH如何工作的演示之间找到最佳平衡点。“
可以在 中找到代码
发布于 2012-05-23 02:53:10
这里有一个:http://code.google.com/p/lsh-clustering/
我还没有时间测试它,但至少它可以编译。
发布于 2013-05-03 20:12:49
下面是另一个:https://github.com/allenlsy/knn
它使用LSH表示KNN。我目前正在研究它的可用性=)
https://stackoverflow.com/questions/9910215
复制相似问题