scipy.spatial.cKDTree

参考链接:scipy.spatial.cKDTree — SciPy v0.15.0 Reference Guide

类 scipy.spatial.cKDTree

用于快速最近邻查找的kd-tree

这个类提供了一组k维点的索引,可用于快速查找任意点的最近邻。

所使用的算法在Maneewongvatana and Mount 1999中有描述。一般的思想是kd树是一个二叉树,它的每个节点表示一个轴对齐的超矩形。每个节点指定一个轴,并根据它们在该轴上的坐标是否大于或小于某个特定值来分割点集。

在构造过程中,轴和分割点是由“滑动中的点”规则选择的,这确保了单元格不会都变得又长又薄。

可以查询树中任意给定点的r个最近邻居(可选择只返回与该点最大距离内的邻居)。它还可以查询r个大致最近的邻居,这在效率上有很大的提高。

对于大维度(20已经很大了),不要指望它比蛮力运行得快得多。高维最近邻查询是计算机科学中一个重要的开放问题。

参数:

data:类数组,形状为(n,m)

要索引的m维的n个数据点。除非需要生成一个连续的doubles数组,否则不会复制此数组,因此修改此数据将导致伪结果。

leafsize:正整数

算法切换到蛮力算法的点数。

属性

data

leafsize

m

maxes

mins

n

方法

count_neighbors(self, other, r, p) 数一下附近能形成多少对。

query(self, x[, k, eps, p, distance_upper_bound]) 查询最近邻的kd-tree。

参数:x:类数组,最后一个维度self.m

要查询的点的数组

k:整数

返回的最近邻的个数

返回值:d:浮点数数组

query_ball_points(self, x, r, p, eps) 找出点(s) x距离r内的所有点。

query_ball_tree(self, other, r, p, eps) 找出所有距离最大为r的点对。

query_pairs(self, r, p, eps) 找出所有距离最大为r的点对。

sparse_distance_matrix(self, other, max_distance) 计算一个稀疏距离矩阵。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值