具有缺失值的歐幾里得距離 (nan_euclidean_distances)#

sklearn.metrics.pairwise.nan_euclidean_distances(X, Y=None, *, squared=False, missing_values=nan, copy=True)[原始碼]#

計算存在缺失值時的歐幾里得距離。

計算X和Y中每對樣本之間的歐幾里得距離,如果Y=None則假設Y=X。在計算一對樣本之間的距離時,此公式會忽略任一樣本中具有缺失值的特徵座標,並放大其餘座標的權重

dist(x,y) = sqrt(weight * sq. distance from present coordinates)

其中

weight = Total # of coordinates / # of present coordinates

例如, [3, na, na, 6][1, na, 4, 5]之間的距離為

\[\sqrt{\frac{4}{2}((3-1)^2 + (6-5)^2)}\]

如果所有座標都缺失,或如果沒有共同的現有座標,則該對會傳回NaN。

使用者指南中閱讀更多資訊。

於版本0.22新增。

參數:
X形狀為 (n_samples_X, n_features) 的類陣列

一個陣列,其中每行是一個樣本,每列是一個特徵。

Y形狀為 (n_samples_Y, n_features) 的類陣列,預設值=None

一個陣列,其中每行是一個樣本,每列是一個特徵。如果 None,則方法使用 Y=X

squared布林值,預設值=False

傳回平方歐幾里得距離。

missing_valuesnp.nan、浮點數或整數,預設值=np.nan

缺失值的表示法。

copy布林值,預設值=True

建立並使用 X 和 Y(如果 Y 存在)的深層副本。

傳回值:
distances形狀為 (n_samples_X, n_samples_Y) 的 ndarray

傳回 X 的行向量和 Y 的行向量之間的距離。

另請參閱

paired_distances

X 和 Y 的元素對之間的距離。

參考文獻

範例

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