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