计算点到点集的最小距离#
- sklearn.metrics.pairwise_distances_argmin_min(X, Y, *, axis=1, metric='euclidean', metric_kwargs=None)[source]#
- 计算一个点到点集的最小距离。 - 此函数计算 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) 的 {类数组,稀疏矩阵}
- 包含点的数组。 
- Y形状为 (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’, ‘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,默认值=None
- 传递给指定度量函数的关键字参数。 
 
- 返回:
- argminndarray
- Y[argmin[i], :] 是 Y 中最接近 X[i, :] 的行。 
- distancesndarray
- 最小距离数组。 - distances[i]是 X 中第 i 行与 Y 中 argmin[i] 行之间的距离。
 
 - 示例 - >>> 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.]) 
