开发者

python scipy.spatial.distance 距离计算函数

目录编程客栈
  • 1scipy.spatial
  • 2scipy.spatial.distance.cdist
    • 2.1语法
    • 2.2metric的取值
    • 2.3常用欧氏距离计算 

1 scipy.spatial

from scipy import spatial

在scipy.spatial中最重要的模块应该就是距离计算模块distanctqwgxve了。

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
impo编程客栈rt 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 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜