pairwise_distances_argmin_min#

sklearn.metrics.pairwise_distances_argmin_min(X, Y, *, ось=1, метрика='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{array-like, sparse matrix} формы (n_samples_X, n_features)

Массив, содержащий точки.

Y{array-like, sparse matrix} формы (n_samples_Y, n_features)

Массив, содержащий точки.

осьint, по умолчанию=1

Ось, вдоль которой вычисляются argmin и расстояния.

метрикаstr или 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, :].

расстоянияndarray

Массив минимальных расстояний. distances[i] это расстояние между i-й строкой в X и 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.])