python scipy.spatial.distance 距離計算函數  

1 scipy.spatial

from scipy import spatial

在scipy.spatial中最重要的模塊應該就是距離計算模塊distance瞭。

2 scipy.spatial.distance.cdist

2.1 語法

scipy.spatial.distance.cdist(XA, XB, metric='euclidean', 
                             p=None, V=None, VI=None, w=None)

該函數用於計算兩個輸入集合的距離,通過metric參數指定計算距離的不同方式得到不同的距離度量值。

2.2 metric的取值

braycurtis
 canberra
 chebyshev:切比雪夫距離
 cityblock
 correlation:相關系數
 cosine:餘弦夾角
 dice
 euclidean:歐式距離
 hamming:漢明距離
 jaccard:傑卡德相似系數
 kulsinski
 mahalanobis:馬氏距離
 matching
 minkowski:閔可夫斯基距離
 rogerstanimoto
 russellrao
 seuclidean:標準化歐式距離
 sokalmichener
 sokalsneath
 sqeuclidean
 wminkowski
 yule

2.3 常用歐氏距離計算 

from scipy.spatial.distance import cdist
import numpy as np
x1 =np.array([(1,3),(2,4),(5,6)])
x2 =[(3,7),(4,8),(6,9)]
cdist(x1,x2,metric='euclidean')
 
#=================結果=================
 
array([[ 4.47213595,  5.83095189,  7.81024968],
       [ 3.16227766,  4.47213595,  6.40312424],
       [ 2.23606798,  2.23606798,  3.16227766]])

解析上述計算過程:結果數組中的第一行數據表示的是x1數組中第一個元素點與x2數組中各個元素點的距離,計算兩點之間的距離,以點(1,3)與(3,7)點的距離為例:

np.power((1-3)**2 +(3-7)**2,1/2)
 
#=================結果=================
 
4.4721359549995796

到此這篇關於python scipy.spatial.distance 距離計算函數 的文章就介紹到這瞭,更多相關python scipy.spatial.distance 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: