pairwise_distances_argmin_min#
- sklearn.metrics.pairwise_distances_argmin_min(X, Y, *, axis=1, metric='euclidean', metric_kwargs=None)[source]#
Berechne die minimalen Distanzen zwischen einem Punkt und einer Menge von Punkten.
Diese Funktion berechnet für jede Zeile in X den Index der Zeile in Y, die am nächsten liegt (gemäß der angegebenen Distanz). Die minimalen Distanzen werden ebenfalls zurückgegeben.
Dies ist weitgehend äquivalent zum Aufruf
(pairwise_distances(X, Y=Y, metric=metric).argmin(axis=axis), pairwise_distances(X, Y=Y, metric=metric).min(axis=axis))
verbraucht aber viel weniger Speicher und ist für große Arrays schneller.
- Parameter:
- X{array-like, sparse matrix} der Form (n_samples_X, n_features)
Array, das Punkte enthält.
- Y{array-like, sparse matrix} mit der Form (n_samples_Y, n_features)
Array, das Punkte enthält.
- axisint, Standard=1
Achse, entlang derer die argmin-Werte und Distanzen berechnet werden sollen.
- metricstr oder callable, Standard=’euclidean’
Metrik, die zur Distanzberechnung verwendet werden soll. Jede Metrik von scikit-learn oder
scipy.spatial.distancekann verwendet werden.Wenn metric ein callable ist, wird er für jedes Paar von Instanzen (Zeilen) aufgerufen und der resultierende Wert aufgezeichnet. Das callable sollte zwei Arrays als Eingabe erhalten und einen Wert zurückgeben, der die Distanz zwischen ihnen angibt. Dies funktioniert für die Metriken von Scipy, ist aber weniger effizient als die Übergabe des Metriknamens als String.
Distanzmatrizen werden nicht unterstützt.
Gültige Werte für metric sind
von scikit-learn: [‘cityblock’, ‘cosine’, ‘euclidean’, ‘l1’, ‘l2’, ‘manhattan’, ‘nan_euclidean’]
von
scipy.spatial.distance: [‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘correlation’, ‘dice’, ‘hamming’, ‘jaccard’, ‘kulsinski’, ‘mahalanobis’, ‘minkowski’, ‘rogerstanimoto’, ‘russellrao’, ‘seuclidean’, ‘sokalmichener’, ‘sokalsneath’, ‘sqeuclidean’, ‘yule’]
Weitere Informationen zu diesen Metriken finden Sie in der Dokumentation von
scipy.spatial.distance.Hinweis
'kulsinski'ist seit SciPy 1.9 veraltet und wird in SciPy 1.11 entfernt.Hinweis
'matching'wurde in SciPy 1.9 entfernt (verwenden Sie stattdessen'hamming').- metric_kwargsdict, Standard=None
Schlüsselwortargumente, die an die angegebene Metrikfunktion übergeben werden.
- Gibt zurück:
- argminndarray
Y[argmin[i], :] ist die Zeile in Y, die X[i, :] am nächsten liegt.
- distancesndarray
Das Array der minimalen Distanzen.
distances[i]ist die Distanz zwischen der i-ten Zeile in X und der argmin[i]-ten Zeile in Y.
Siehe auch
pairwise_distancesDistanzen zwischen jedem Paar von Stichproben von X und Y.
pairwise_distances_argminGleich wie
pairwise_distances_argmin_min, gibt aber nur die argmins zurück.
Beispiele
>>> 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.])