python-kd-tree可以使用点积构建吗?
作者:互联网
通过将超平面递归地分成两半来构造普通的kd树.为了对查询点进行范围搜索,它将只搜索一小部分点(对数)而不是全部(线性)点.
我想知道可以用点积构建kd树吗?
例如,b是3d向量的列表:
b = np.random.rand(10,3)
a = (1,1,1) is a query vector
我想找到满足的最接近的bk:
a * bk > a * bi, for i = 1, 2, ...k-1, k+1, 10
我不想计算所有*双点产品对.
如何用b构建树,并且在查询a时,我仅计算a * bi?
解决方法:
我认为Ram & Gray 2008正是您想要的.他们称其结构为“锥树”.
标签:nearest-neighbor,kdtree,data-structures,python,algorithm 来源: https://codeday.me/bug/20191122/2059311.html