pairwise_distances_argmin#
- sklearn.metrics.pairwise_distances_argmin(X, Y, *, axis=1, metric='euclidean', metric_kwargs=None)[source]#
计算一个点与一组点之间的最小距离。
此函数为 X 中的每一行计算距离最近的 Y 行的索引(根据指定的距离)。
这主要等同于调用
pairwise_distances(X, Y=Y, metric=metric).argmin(axis=axis)
但它使用的内存少得多,并且对于大型数组更快。
此函数仅适用于稠密二维数组。
- 参数:
- X形状为 (n_samples_X, n_features) 的{类数组对象, 稀疏矩阵}
包含点的数组。
- Y形状为 (n_samples_Y, n_features) 的{类数组对象, 稀疏矩阵}
包含点的数组。
- axis整数,默认值为 1
计算 argmin 和距离的轴。
- metric字符串或可调用对象,默认值为“euclidean”
用于距离计算的度量。可以使用 scikit-learn 或 scipy.spatial.distance 中的任何度量。
如果 metric 是一个可调用函数,它将对每对实例(行)调用,并记录结果值。可调用对象应将两个数组作为输入,并返回一个值表示它们之间的距离。这适用于 Scipy 的度量,但效率低于将度量名称作为字符串传递。
不支持距离矩阵。
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’]
有关这些度量的详细信息,请参阅 scipy.spatial.distance 的文档。
注意
'kulsinski'
在 SciPy 1.9 中已弃用,并将在 SciPy 1.11 中移除。注意
'matching'
已在 SciPy 1.9 中移除(请改用'hamming'
)。- metric_kwargs字典,默认值为 None
要传递给指定度量函数的关键字参数。
- 返回:
- argminnumpy.ndarray
Y[argmin[i], :] 是 Y 中最接近 X[i, :] 的行。
另请参阅
pairwise_distances
X 和 Y 中每对样本之间的距离。
pairwise_distances_argmin_min
与
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])