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-邻居的(加权)图。
更多信息请参阅 用户指南 。
- Parameters:
- X{array-like, sparse matrix},形状为 (n_samples, n_features)
样本数据。
- n_neighborsint
每个样本的邻居数量。
- 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
表示使用所有处理器。有关更多详细信息,请参阅 Glossary 。
- Returns:
- A形状为 (n_samples, n_samples) 的稀疏矩阵
图中 A[i, j] 被分配了连接 i 到 j 的边的权重。矩阵为 CSR 格式。
See also
radius_neighbors_graph
计算X中点的邻居的(加权)图。
Examples
>>> 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.]])
Gallery examples#
在玩具数据集上比较不同的聚类算法
层次聚类:结构化 vs 非结构化 Ward
带有和不带有结构的凝聚聚类