kneighbors_graph#

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

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

阅读更多的 User Guide .

参数:
X形状(n_samples,n_features)的{类数组,稀疏矩阵}

样本数据。

n_neighborsint

每个样本的邻居数量。

mode'连通性',',默认='连通性'

返回的矩阵类型:“连通性”将返回包含1和0的连通性矩阵,而“距离”将根据给定的指标返回邻居之间的距离。

metric字符串,默认=' minkowski '

用于距离计算的指标。默认值是“minkowski”,当p = 2时,它会产生标准的欧几里得距离。请参阅文档 scipy.spatial.distance 以及中列出的指标 distance_metrics 获取有效的指标值。

pfloat,默认=2

Minkowski指标的功率参数。当p = 1时,这相当于对于p = 2使用manhattan_Distance(l1)和euclidean_Distance(l2)。对于任意p,使用minkowski_Distance(l_p)。该参数预计为正值。

metric_paramsdict,默认=无

指标函数的附加关键字参数。

include_self布尔或“自动”,默认=False

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

n_jobsint,默认=无

为邻居搜索运行的并行作业数。 None 意思是1,除非在a中 joblib.parallel_backend 上下文 -1 意味着使用所有处理器。看到 Glossary 了解更多详细信息。

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

图中A [i, j] 被分配了连接i到j的边的权重。矩阵为CSR格式。

参见

radius_neighbors_graph

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

示例

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