当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn NearestNeighbors.radius_neighbors用法及代码示例


本文简要介绍python语言中 sklearn.neighbors.NearestNeighbors.radius_neighbors 的用法。

用法:

radius_neighbors(X=None, radius=None, return_distance=True, sort_results=False)

在一个或多个点的给定半径内找到邻居。

从位于查询数组点周围的大小为radius 的球中的数据集中返回每个点的索引和距离。位于边界上的点包含在结果中。

结果点不一定按到查询点的距离排序。

参数

X(n_samples, n_features) 的类似数组,默认=None

查询点或点。如果未提供,则返回每个索引点的邻居。在这种情况下,查询点不被认为是它自己的邻居。

radius浮点数,默认=无

限制邻居返回的距离。默认值是传递给构造函数的值。

return_distance布尔,默认=真

是否返回距离。

sort_results布尔,默认=假

如果为 True,则距离和索引将在返回之前按增加的距离排序。如果为 False,则可能不会对结果进行排序。如果 return_distance=False ,设置 sort_results=True 将导致错误。

返回

neigh_distndarray 形状 (n_samples,) 的数组

表示到每个点的距离的数组,仅在 return_distance=True 时出现。距离值根据metric 构造函数参数计算。

neigh_indndarray 形状 (n_samples,) 的数组

位于查询点周围大小为 radius 的球内的人口矩阵中近似最近点的索引数组。

注意

由于每个点的邻居数不一定相等,因此多个查询点的结果无法适合标准数据数组。为了提高效率,radius_neighbors 返回对象数组,其中每个对象都是索引或距离的一维数组。

例子

在下面的示例中,我们从表示数据集的数组构造一个 NeighborsClassifier 类,并询问谁是最接近 [1, 1, 1] 的点:

>>> import numpy as np
>>> samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]]
>>> from sklearn.neighbors import NearestNeighbors
>>> neigh = NearestNeighbors(radius=1.6)
>>> neigh.fit(samples)
NearestNeighbors(radius=1.6)
>>> rng = neigh.radius_neighbors([[1., 1., 1.]])
>>> print(np.asarray(rng[0][0]))
[1.5 0.5]
>>> print(np.asarray(rng[1][0]))
[1 2]

返回的第一个数组包含到所有小于 1.6 的点的距离,而返回的第二个数组包含它们的索引。一般来说,可以同时查询多个点。

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.neighbors.NearestNeighbors.radius_neighbors。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。