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的元素对之间的距离。
引用
John K. Dixon,“Pattern Recognition with Partly Missing Data”,IEEE Transactions on Systems,Man,and Cybernetics,Volume:9,Issue:10,pp. 617 - 621,1979年10月。http://ieeexplore.ieee.org/abstract/document/4310090/
示例
>>> 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]])