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 * 存在的坐标的平方距离) 其中, weight = 总坐标数 / 存在的坐标数
例如,
[3, na, na, 6]
和[1, na, 4, 5]
之间的距离是:\[\sqrt{\]rac{4}{2}((3-1)^2 + (6-5)^2)}
如果所有坐标都缺失或没有共同存在的坐标,则返回该对的NaN。
更多信息请参阅 用户指南 。
Added in version 0.22.
- Parameters:
- X形状为 (n_samples_X, n_features) 的类数组
一个数组,其中每行是一个样本,每列是一个特征。
- Y形状为 (n_samples_Y, n_features) 的类数组,默认=None
一个数组,其中每行是一个样本,每列是一个特征。 如果
None
,方法使用Y=X
。- squaredbool, 默认=False
返回平方欧几里得距离。
- missing_valuesnp.nan, float 或 int, 默认=np.nan
缺失值的表示。
- copybool, 默认=True
对X和Y(如果Y存在)进行深拷贝并使用。
- Returns:
- distances形状为 (n_samples_X, n_samples_Y) 的 ndarray
返回
X
的行向量与Y
的行向量之间的距离。
See also
paired_distances
X和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/
Examples
>>> from sklearn.metrics.pairwise import nan_euclidean_distances >>> nan = float("NaN") >>> X = [[0, 1], [1, nan]] >>> nan_euclidean_distances(X, X) # X行之间的距离 array([[0. , 1.41421356], [1.41421356, 0. ]])
>>> # 获取到原点的距离 >>> nan_euclidean_distances(X, [[0, 0]]) array([[1. ], [1.41421356]])