pairwise_distances_argmin#

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)

但使用更少的内存,并且在处理大数组时速度更快。

该函数仅适用于密集的二维数组。

Parameters:
X{array-like, sparse matrix},形状为 (n_samples_X, n_features)

包含点的数组。

Y{array-like, sparse matrix},形状为 (n_samples_Y, n_features)

包含点的数组。

axisint, 默认=1

沿其计算argmin和距离的轴。

metricstr 或 callable, 默认=”euclidean”

用于距离计算的度量。可以使用scikit-learn或scipy.spatial.distance中的任何度量。

如果metric是一个可调用函数,它会在每一对实例(行)上调用,并记录结果值。可调用函数应接受两个数组作为输入并返回一个表示它们之间距离的值。这适用于Scipy的度量,但效率不如将度量名称作为字符串传递。

不支持距离矩阵。

metric的有效值包括:

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

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

有关这些度量的详细信息,请参阅scipy.spatial.distance的文档。

Note

'kulsinski' 在SciPy 1.9中已弃用,并将在SciPy 1.11中移除。

Note

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

metric_kwargsdict, 默认=None

传递给指定度量函数的键值对参数。

Returns:
argminnumpy.ndarray

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

See also

pairwise_distances

计算X和Y中每对样本之间的距离。

pairwise_distances_argmin_min

pairwise_distances_argmin 相同,但还返回距离。

Examples

>>> 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])