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 近鄰(加權)圖。

使用者指南中閱讀更多資訊。

參數:
X形狀為 (n_samples, n_features) 的 {類陣列, 稀疏矩陣}

樣本資料。

n_neighbors整數

每個樣本的鄰居數量。

mode{‘connectivity’, ‘distance’}, default=’connectivity’

返回矩陣的類型: ‘connectivity’ 將返回具有 1 和 0 的連通性矩陣,而 ‘distance’ 將返回鄰居之間根據給定度量的距離。

metric字串, default=’minkowski’

用於距離計算的度量。預設為 “minkowski”,當 p = 2 時,會產生標準歐氏距離。請參閱scipy.spatial.distance的文件,以及distance_metrics中列出的度量以獲取有效的度量值。

p浮點數, default=2

Minkowski 度量的冪參數。當 p = 1 時,這相當於使用 manhattan_distance (l1),而 p = 2 時則相當於 euclidean_distance (l2)。對於任意 p,使用 minkowski_distance (l_p)。此參數應為正數。

metric_params字典, default=None

度量函數的其他關鍵字參數。

include_self布林值 或 ‘auto’, default=False

是否將每個樣本標記為其自身的第一個最近鄰居。如果為 ‘auto’,則 mode=’connectivity’ 使用 True,而 mode=’distance’ 使用 False。

n_jobs整數, default=None

用於鄰居搜尋的平行任務數量。None 表示 1,除非在 joblib.parallel_backend 內容中。-1 表示使用所有處理器。請參閱詞彙表以取得更多詳細資訊。

返回:
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.]])