一种实现有利点数据结构的包,用于有效的近邻搜索。
vptree的Python项目详细描述
此包包含vantage-point tree数据结构的实现。
安装
只需通过pip安装即可:
pip install vptree
示例
示例用法:
importnumpyasnpimportvptree# Define distance function.defeuclidean(p1,p2):returnnp.sqrt(np.sum(np.power(p2-p1,2)))# Generate some random points.points=np.random.randn(20000,10)query=[.5]*10# Build tree in O(n log n) time complexity.tree=vptree.VPTree(points,euclidean)# Query single point.tree.get_nearest_neighbor(query)# Query n-points.tree.get_n_nearest_neighbors(query,10)# Get all points within certain distance.tree.get_all_in_range(query,3.14)