温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中scipy.spatial.distance距离计算函数怎么用

发布时间:2022-03-06 16:39:55 来源:亿速云 阅读:1293 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“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 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距离计算函数怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI