常见的相似度度量方法总结及Python实现

九种距离与相似度计算
本文详细介绍了九种常用的距离和相似度计算方法,包括欧氏距离、曼哈顿距离、切比雪夫距离、标准化欧氏距离、马氏距离、夹角余弦、皮尔逊相关系数、汉明距离及杰卡德相似系数。每种方法均配以数学公式和Python代码实例,便于读者理解和应用。

目录

1.欧氏距离(Euclidean Distance)

2. 曼哈顿距离(Manhattan Distance)

3. 切比雪夫距离 ( Chebyshev Distance )

4. 标准化欧氏距离 (Standardized Euclidean distance )

5. 马氏距离(Mahalanobis Distance)

6. 夹角余弦(Cosine)

7. 皮尔逊相关系数(Pearson correlation)

8. 汉明距离(Hamming distance)

9. 杰卡德相似系数(Jaccard similarity coefficient)


1.欧氏距离(Euclidean Distance)

 欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式。
(1) 二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离:

(2) 三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:

(3) 两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的欧氏距离:

import numpy as np
x=np.random.random(10)
y=np.random.random(10)


d = np.sqrt(np.sum(np.square(x-y)))

2. 曼哈顿距离(Manhattan Distance)

(1) 二维平面两点a(x1,y1)与b(x2,y2)间的曼哈顿距离

(2) 两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的曼哈顿距离

import numpy as np
x=np.random.random(10)
y=np.random.random(10)


d = np.sum(np.abs(x-y)

3. 切比雪夫距离 ( Chebyshev Distance )

(1) 二维平面两点a(x1,y1)与b(x2,y2)间的切比雪夫距离

(2) 两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的切比雪夫距离

这个公式的另一种等价形式是

import numpy as np
x=np.random.random(10)
y=np.random.random(10)


d = np.max(np.abs(x-y))
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值