Python--欧式距离

参考链接:https://www.cnblogs.com/denny402/p/7027954.html

欧氏距离(Euclidean Distance)
       欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式。
(1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离:

(2)三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:

(3)两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的欧氏距离:

(4)也可以用表示成向量运算的形式:

python中的实现:

import numpy as np
x=np.random.random(10)
y=np.random.random(10)

#方法一:根据公式求解
d1=np.sqrt(np.sum(np.square(x-y)))

#方法二:根据scipy库求解
from scipy.spatial.distance import pdist
X=np.vstack([x,y])           #将x,y两个一维数组合并成一个2D数组 ;[[x1,x2,x3...],[y1,y2,y3...]]
d2=pdist(X)                  #d2=np.sqrt((x1-y1)
2
+(x2-y2)
2
+....)

  

猜你喜欢

转载自www.cnblogs.com/gegemu/p/9968014.html