相似度度量

点与点之间的相似性,点集与点集之间的相似性对于类别判断都非常重要。
1欧氏距离
2曼哈顿距离
3切比雪夫距离
4闵可夫斯基距离
5标准化欧氏距离
6马氏距离
7余弦距离
8皮尔逊相关系数(Pearson Correlation)
9汉明距离(Hamming Distance)
10杰卡德相似系数(Jaccard Similarity Coefficient)
11Ochiai Coefficient
12布雷柯蒂斯距离(Bray Curtis Distance)
13豪斯多夫Hausdorff距离
14Levenshtein Distance(Edit Distance)
15堪培拉距离(Canberra Distance)
16卡方检验
17相对熵又称KL散度
18.交叉熵
19.JS散度
20Hellinger Distance 又称 Bhattacharyya distance
21.F散度
22.巴氏距离(Bhattacharyya Distance)
23.MMD距离(Maximum mean discrepancy)
24.Wasserstein distance
25.点对互信息 PMI(Pointwise Mutual Information)
可以参考以下文章:
相似度度量1
2
3

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中有很多库可以用于相似度量,最常用的包括numpy、scipy、sklearn等。 在numpy中,可以使用cosine_similarityEngineer或euclidean_distance函数来计算两个向量之间的余弦相似度或欧几里得距离。例如,对于两个向量a和b,可以使用以下代码计算它们之间的余弦相似度: import numpy as np def cosine_similarity(a, b): dot_product = np.dot(a, b) norm_a = np.linalg.norm(a) norm_b = np.linalg.norm(b) return dot_product / (norm_a * norm_b) a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) print(cosine_similarity(a, b)) 在scipy中,可以使用spatial.distance.cosine或spatial.distance.euclidean函数分别计算余弦相似度和欧几里得距离。与numpy中类似,可以使用以下代码计算余弦相似度: import scipy.spatial.distance as distance a = [1, 2, 3] b = [4, 5, 6] cosine_similarity = 1 - distance.cosine(a, b) print(cosine_similarity) 在sklearn中,可以使用pairwise_distances函数计算两个向量之间的各种相似度量,包括余弦相似度、欧几里得距离、曼哈顿距离等等。例如,以下代码展示了如何使用pairwise_distances计算余弦相似度: from sklearn.metrics.pairwise import pairwise_distances a = [1, 2, 3] b = [4, 5, 6] cosine_similarity = 1 - pairwise_distances([a, b], metric="cosine")[0][1] print(cosine_similarity) 总体来说,Python中有很多库和函数可以用于相似度量,具体的选择取决于具体的问题和需要计算的相似度量

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值