这篇文章主要为大家展示了“python中scipy.spatial.distance距离计算函数怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“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 cdistimport numpy as npx1 =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距离计算函数怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!