Python--歐式距離
阿新 • • 發佈:2018-11-16
參考連結: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)
+(x2-y2)2
+....)