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

但使用的内存要少得多,并且对于大型阵列来说速度更快。

参数:
X形状(n_samples_X,n_features)的{类数组,稀疏矩阵}

Array containing points.

Y{类数组,稀疏矩阵}的形状(n_samples_Y,n_features)

Array containing points.

axisint,默认=1

计算armin和距离所沿的轴。

metric字符串或可调用,默认='欧几里德'

用于距离计算的指标。可以使用scikit-learn或scipy.spatial.Distance中的任何指标。

如果metric是可调用的函数,则会对每对实例(行)调用它并记录结果值。可调用对象应该将两个数组作为输入,并返回一个指示它们之间距离的值。这适用于Scipy的指标,但比将指标名称作为字符串传递效率低。

不支持距离矩阵。

度量的有效值为:

  • 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_kwargsdict,默认=无

要传递给指定指标函数的关键字参数。

返回:
argminndarray

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

distancesndarray

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

参见

pairwise_distances

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

pairwise_distances_argmin

相同 pairwise_distances_argmin_min 但仅返回argmins。

示例

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