成對距離參數最小值#

sklearn.metrics.pairwise_distances_argmin(X, Y, *, axis=1, metric='euclidean', metric_kwargs=None)[來源]#

計算一個點和一組點之間的最小距離。

此函數計算 X 中每行,Y 中距離最近的行的索引(根據指定的距離)。

這基本上等同於調用

pairwise_distances(X, Y=Y, metric=metric).argmin(axis=axis)

但使用更少的記憶體,且對於大型陣列來說速度更快。

此函數僅適用於密集 2D 陣列。

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

包含點的陣列。

Y形狀為 (n_samples_Y, n_features) 的 {類陣列, 稀疏矩陣}

包含點的陣列。

axisint,預設為 1

將計算參數最小值和距離的軸。

metricstr 或可呼叫物件,預設為「歐氏」

用於距離計算的度量。可以使用來自 scikit-learn 或 scipy.spatial.distance 的任何度量。

如果 metric 是一個可呼叫的函式,它會被針對每一對實例(列)呼叫,並記錄結果值。這個可呼叫的函式應接收兩個陣列作為輸入,並回傳一個值,表示它們之間的距離。這適用於 Scipy 的 metric,但效率比將 metric 名稱作為字串傳遞要低。

不支援距離矩陣。

metric 的有效值為

  • 來自 scikit-learn:[‘cityblock’, ‘cosine’, ‘euclidean’, ‘l1’, ‘l2’, ‘manhattan’, ‘nan_euclidean’]

  • 來自 scipy.spatial.distance:[‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘correlation’, ‘dice’, ‘hamming’, ‘jaccard’, ‘kulsinski’, ‘mahalanobis’, ‘minkowski’, ‘rogerstanimoto’, ‘russellrao’, ‘seuclidean’, ‘sokalmichener’, ‘sokalsneath’, ‘sqeuclidean’, ‘yule’]

關於這些 metric 的詳細資訊,請參閱 scipy.spatial.distance 的文件。

注意

'kulsinski' 從 SciPy 1.9 開始已棄用,並將在 SciPy 1.11 中移除。

注意

'matching' 已在 SciPy 1.9 中移除(請改用 'hamming')。

metric_kwargsdict,預設值為 None

要傳遞給指定 metric 函式的關鍵字參數。

回傳值:
argminnumpy.ndarray

Y[argmin[i], :] 是 Y 中最接近 X[i, :] 的列。

另請參閱

成對距離

X 和 Y 中每對樣本之間的距離。

成對距離參數最小值(最小值)

pairwise_distances_argmin 相同,但也會回傳距離。

範例

>>> from sklearn.metrics.pairwise import pairwise_distances_argmin
>>> X = [[0, 0, 0], [1, 1, 1]]
>>> Y = [[1, 0, 0], [1, 1, 0]]
>>> pairwise_distances_argmin(X, Y)
array([0, 1])