python-SQL中的KD-Tree实现
作者:互联网
有谁知道用SQL实现的KD-Tree或类似的空间索引?我当时正在考虑使用Python和Django的ORM编写自己的代码,但我想避免重新发明轮子.
我有一个包含数百万行的表,每行包含128列,分别代表图像特征数据.给定任意128个元素的长图像特征列表,我想使用KD-Tree在数据库中查找N个最相似的图像.我发现了很多KD-Tree实现,但是它们似乎都只加载到本地内存中,无法扩展或与数据库对话.
解决方法:
KD树不适用于高维数据,并且128维将非常高. KD树在树的不同级别上为每个维度建立索引,并且在执行查询时,算法将进行大量回溯(搜索分支的两侧)并最终搜索树中的大多数点.发生这种情况时,使用树结构的优势就会消失,详尽的比较最终会更快地运行.
您可能想要找到一个可以将数据映射到的现有图像相似度搜索系统. Here is one called Lire从图像中提取特征并使用Lucene对其进行索引.
如果您的工作更注重研究,则可能需要阅读度量空间索引和近似k近邻搜索.
标签:kdtree,data-mining,python,sql,database 来源: https://codeday.me/bug/20191102/1993953.html