radius_neighbors_graph#

sklearn.neighbors.radius_neighbors_graph(X, radius, *, mode='connectivity', metric='minkowski', p=2, metric_params=None, include_self=False, n_jobs=None)[源代码]#

计算 X 中点的(加权)邻居图。

邻域被限制在距离小于 radius 的点。

用户指南中阅读更多信息。

参数:
X{array-like, sparse matrix} 形状为 (n_samples, n_features)

样本数据。

radiusfloat

邻域的半径。

mode{‘connectivity’, ‘distance’}, 默认为 ‘connectivity’

返回矩阵的类型:‘connectivity’ 将返回包含 1 和 0 的连接矩阵,而 ‘distance’ 将根据给定度量返回邻居之间的距离。

metricstr, 默认为 ‘minkowski’

用于距离计算的度量。默认为“minkowski”,当 p = 2 时,它相当于标准欧氏距离。有关有效度量值,请参阅 scipy.spatial.distance 的文档以及 distance_metrics 中列出的度量。

pfloat, 默认为 2

Minkowski 度量的幂参数。当 p = 1 时,这等价于使用 manhattan_distance (l1);当 p = 2 时,等价于 euclidean_distance (l2)。对于任意 p,使用 minkowski_distance (l_p)。

metric_paramsdict, 默认为 None

度量函数的额外关键字参数。

include_selfbool 或 ‘auto’, 默认为 False

是否将每个样本标记为自身的第一最近邻。如果为 'auto',则对于 mode='connectivity' 使用 True,对于 mode='distance' 使用 False。

n_jobsint, 默认为 None

用于邻居搜索的并行作业数。None 表示 1,除非在 joblib.parallel_backend 上下文中。-1 表示使用所有处理器。有关更多详细信息,请参阅术语表

返回:
A稀疏矩阵,形状为 (n_samples, n_samples)

图,其中 A[i, j] 被赋以连接 i 到 j 的边的权重。矩阵为 CSR 格式。

另请参阅

kneighbors_graph

计算 X 中点的 k-邻居加权图。

示例

>>> X = [[0], [3], [1]]
>>> from sklearn.neighbors import radius_neighbors_graph
>>> A = radius_neighbors_graph(X, 1.5, mode='connectivity',
...                            include_self=True)
>>> A.toarray()
array([[1., 0., 1.],
       [0., 1., 0.],
       [1., 0., 1.]])