nan_euclidean_distances#
- sklearn.metrics.pairwise.nan_euclidean_distances(X, Y=None, *, squared=False, missing_values=nan, copy=True)[source]#
计算存在缺失值时的欧几里得距离。
计算 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) 的类数组对象, default=None
一个数组,其中每一行是一个样本,每一列是一个特征。如果为
None,则方法使用Y=X。- squaredbool, default=False
返回平方欧几里得距离。
- missing_valuesnp.nan, float or int, default=np.nan
缺失值的表示。
- copy布尔值, 默认为 True
创建并使用 X 和 Y(如果存在 Y)的深层副本。
- 返回:
- distancesndarray of shape (n_samples_X, n_samples_Y)
返回
X的行向量与Y的行向量之间的距离。
另请参阅
paired_distancesX 和 Y 元素对之间的距离。
References
John K. Dixon, “Pattern Recognition with Partly Missing Data”, IEEE Transactions on Systems, Man, and Cybernetics, Volume: 9, Issue: 10, pp. 617 - 621, Oct. 1979. 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]])