pairwise_distances_argmin_min#

sklearn.metrics.pairwise_distances_argmin_min(X, Y, *, axis=1, metric='euclidean', metric_kwargs=None)#

计算一个点和一组点之间的最小距离。

该函数计算X中每一行在Y中最近的行的索引(根据指定的距离)。最小距离也会被返回。

这基本上等同于调用:

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

pairwise_distances(X, Y=Y, metric=metric).min(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:
argminndarray

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

distancesndarray

最小距离数组。 distances[i] 是X中第i行与Y中argmin[i]行的距离。

See also

pairwise_distances

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

pairwise_distances_argmin

pairwise_distances_argmin_min 相同,但仅返回argmin。

Examples

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