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] |