nan_euclidean_distances#

sklearn.metrics.pairwise.nan_euclidean_distances(X, Y=None, *, squared=False, missing_values=nan, copy=True)[源代码]#

在存在缺失值的情况下计算欧几里得距离。

计算X和Y中每对样本之间的欧几里得距离,其中如果Y=无,则假设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。

阅读更多的 User Guide .

Added in version 0.22.

参数:
X形状类似阵列(n_samples_X,n_features)

一个数组,其中每一行都是样本,每一列都是特征。

Y形状类似阵列(n_samples_Y,n_features),默认=无

一个数组,其中每一行都是样本,每一列都是特征。如果 None ,方法使用 Y=X .

squared布尔,默认=假

返回平方欧几里得距离。

missing_valuesnp.nan,float或int,默认值=np.nan

缺失值的表示。

copy布尔,默认=True

制作并使用X和Y的深度副本(如果Y存在)。

返回:
distances形状的nd数组(n_samples_X,n_samples_Y)

返回的行载体之间的距离 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]])