nan_euclidean_distances#
- sklearn.metrics.pairwise.nan_euclidean_distances(X, Y=None, *, squared=False, missing_values=nan, copy=True)[Quelle]#
Berechne die euklidischen Distanzen bei fehlenden Werten.
Berechnet den euklidischen Abstand zwischen jedem Paar von Stichproben in X und Y, wobei Y=X angenommen wird, wenn Y=None ist. Bei der Berechnung des Abstands zwischen einem Stichprobenpaar ignoriert diese Formulierung Merkmalskoordinaten mit fehlenden Werten in einer der beiden Stichproben und skaliert das Gewicht der verbleibenden Koordinaten hoch.
dist(x,y) = sqrt(weight * sq. distance from present coordinates)
wobei
weight = Total # of coordinates / # of present coordinates
Beispielsweise ist der Abstand zwischen
[3, na, na, 6]und[1, na, 4, 5]\[\sqrt{\frac{4}{2}((3-1)^2 + (6-5)^2)}\]Wenn alle Koordinaten fehlen oder wenn keine gemeinsamen vorhandenen Koordinaten vorhanden sind, wird für dieses Paar NaN zurückgegeben.
Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 0.22.
- Parameter:
- Xarray-like, Form (n_samples_X, n_features)
Eine Matrix, bei der jede Zeile eine Stichprobe und jede Spalte ein Merkmal darstellt.
- Yarray-like, Form (n_samples_Y, n_features), Standardwert=None
Ein Array, bei dem jede Zeile eine Stichprobe und jede Spalte ein Merkmal ist. Wenn
None, verwendet die MethodeY=X.- squaredbool, Standardwert=False
Gibt quadrierte euklidische Abstände zurück.
- missing_valuesnp.nan, float oder int, Standardwert=np.nan
Darstellung eines fehlenden Wertes.
- copybool, Standard=True
Erstellt und verwendet eine tiefe Kopie von X und Y (falls Y existiert).
- Gibt zurück:
- distancesndarray der Form (n_samples_X, n_samples_Y)
Gibt die Abstände zwischen den Zeilenvektoren von
Xund den Zeilenvektoren vonYzurück.
Siehe auch
paired_distancesAbstände zwischen Paaren von Elementen von X und Y.
Referenzen
John K. Dixon, „Pattern Recognition with Partly Missing Data“, IEEE Transactions on Systems, Man, and Cybernetics, Band: 9, Ausgabe: 10, S. 617 - 621, Okt. 1979. http://ieeexplore.ieee.org/abstract/document/4310090/
Beispiele
>>> from sklearn.metrics.pairwise import nan_euclidean_distances >>> nan = float("NaN") >>> X = [[0, 1], [1, nan]] >>> nan_euclidean_distances(X, X) # distance between rows of X array([[0. , 1.41421356], [1.41421356, 0. ]])
>>> # get distance to origin >>> nan_euclidean_distances(X, [[0, 0]]) array([[1. ], [1.41421356]])