pairwise_distances_argmin#

sklearn.metrics.pairwise_distances_argmin(X, Y, *, ось=1, метрика='euclidean', metric_kwargs=None)[источник]#

Вычислить минимальные расстояния между одной точкой и набором точек.

Эта функция вычисляет для каждой строки в X индекс строки в Y, которая является ближайшей (в соответствии с указанным расстоянием).

Это в основном эквивалентно вызову:

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

Аргументы ключевых слов для передачи указанной метрической функции.

Возвращает:
argminnumpy.ndarray

Y[argmin[i], :] — это строка в Y, ближайшая к X[i, :].

Смотрите также

pairwise_distances

Расстояния между каждой парой образцов X и Y.

pairwise_distances_argmin_min

То же, что и pairwise_distances_argmin но также возвращает расстояния.

Примеры

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