求取点云数组中的最近点

import numpy as np
from sklearn.neighbors import NearestNeighbors
samples = [[0, 0, 2], [1, 0, 0], [0, 0, 1]]
detect =  [[0, 0, 1.3], [1.1, 0, 0]]
neigh = NearestNeighbors(n_neighbors=1)
neigh.fit(samples)
#NearestNeighbors(…)
a,d = neigh.kneighbors(detect,return_distance=True)
#返回的是距离数组和最近点索引数组
print(a.ravel(),d.ravel())

输出结果为

[0.3 0.1] [2 1]

以下是NearestNeighbors函数的介绍
NearestNeighbors(n_neighbors=5, radius=1.0, algorithm=‘auto’, leaf_size=30, metric=‘minkowski’, p=2, metric_params=None, n_jobs=None)

Parameters(参数):

n_neighbors(n邻域):所要选用的最近邻的数目,相当于knn算法(k近邻算法)中的 k,(default = 5),在设置此参数时输入的需为整形(int)。

radius(半径):要使用的参数空间范围,在设置此参数时输入的需为浮点数(float)。

algorithm{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}:即用于选取计算最近邻的算法:这里主要包括

‘auto’ :根据样本数据自动刷选合适的算法。

‘ball_tree’:构建“球树”算法模型。

‘kd_tree’ :‘’kd树‘’算法。

‘brute’ :使用蛮力搜索,即或相当于Knn算法,需遍历所有样本数据与目标数据的距离,进而按升序排序从而选取最近的K个值,采用投票得出结果。

注意:拟合稀疏输入将覆盖此参数的设置,使用蛮力。)

leaf_size:叶的大小,针对算法为球树或KD树而言。这个设置会影响构造和查询的速度,以及存储树所需的内存。最优值取决于问题的性质。

metric:用于树的距离度量。默认度量是Minkowski,p=2等价于标准的欧几里德度量。有关可用度量的列表,可以查阅距离度量类的文档。如果度量是“预先计算的”,则假定X是距离矩阵,在拟合期间必须是平方。

p:Minkowski度量参数的参数来自sklearn.emeics.pairwise.pairwise_距离。当p=1时,这等价于使用曼哈顿距离(L1),欧几里得距离(L2)等价于p=2时,对于任意的p,则使用Minkowski_距离(L_P)。

metric_params:度量函数的附加关键字参数,设置应为dict(字典)形式。

n_jobs:要为邻居搜索的并行作业的数量。None指1,除非在joblib.parallel_backend背景。-1意味着使用所有处理器,若要了解相关的知识应该具体查找一下。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值