各种距离的python代码

1、python实现欧式距离公式的:

1

2

3

4

5

6

7

from numpy import *

 

vector1 = mat([1,2,3])

vector2 = mat([4,5,6])

print sqrt((vector1-vector2)*((vector1-vector2).T))

输出:

[[ 5.19615242]]

2、python实现曼哈顿距离:
 

1

2

3

4

5

6

7

from numpy import *

 

vector1 = mat([1,2,3])

vector2 = mat([4,5,6])

print sum(abs(vector1-vector2))

输出:

9

3、Python实现切比雪夫距离:
 

1

2

3

4

5

6

7

from numpy import *

 

vector1 = mat([1,2,3])

vector2 = mat([4,7,5])

print abs(vector1-vector2).max()

输出:

5

4、夹角余弦(Cosine)

from numpy import *

cosV12 = dot(vector1,vector2)/(linalg.norm(vector1)*linalg.norm(vector2))

print cosV12

输出:

0.92966968

5、Python实现杰卡德距离:
 

1

2

3

4

5

6

from numpy import *

import scipy.spatial.distance as dist  # 导入scipy距离公式

matV = mat([[1,1,0,1,0,1,0,0,1],[0,1,1,0,0,0,1,1,1]])

print "dist.jaccard:", dist.pdist(matV,'jaccard')

输出:

dist.jaccard: [ 0.75]

 

 

 

 

 

 

 

 

 

 

 

 

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值