包含NaN的欧几里得距离#
- 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)的类数组,默认为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的行向量之间的距离。
 
 - 参见 - 配对距离
- X 和 Y 元素对之间的距离。 
 - 参考文献 - John K. Dixon,“使用部分缺失数据的模式识别”,IEEE 系统、人与控制论汇刊,卷:9,期:10,第 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]]) 
