相似度计算之Dice系数

Dice距离用于度量两个集合的相似性,因为可以把字符串理解为一种集合,因此Dice距离也会用于度量字符串的相似性。此外,Dice系数的一个非常著名的使用即实验性能评测的F1值。Dice系数定义如下:

$$s = \frac{2|A\cap B|}{|A|+|B|}$$

其中分子是A与B的交集数量的两倍,分母为X和Y的长度之和,所以他的范围也在0到1之间。从公式看,Dice系数和Jaccard非常的类似。Jaccard是在分子和分母上都减去了|A∩B|。

$$J(A,B)=\frac{|A\cap B|}{|A\cup B|}=\frac{|A\cap B|}{|A|+|B|-|A\cap B|}$$

与Jaccard不同的是,相应的差异函数

$d=1-{\frac {2|X\cap Y|}{|X|+|Y|}}$

不是一个合适的距离度量措施,因为它没有三角形不等性的性质。例如给定 {a}, {b}, 和 {a,b}, 前两个集合的距离为1, 而第三个集合和其他任意两个集合的距离为三分之一。

与Jaccard类似, 集合操作可以用两个向量A和B的操作来表示:

$$s_{v}={\frac {2|A\cdot B|}{|A|^{2}+|B|^{2}}}$$

Python实现:

其他参考:

微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

机器学习在旅游与酒店个性化的研究

当我们访问Netflix、 YouTube 或Amazon时,我们认为个性化推荐是理所当然的。这些服务已经探索

机器学习: 商业与数据科学之间的桥梁

每次我们谈论自动驾驶汽车、聊天机器人、 AlphaGo 或者预测分析,都会涉及到一些机器学习技术的实现。在公众

Python检验数据是否正态分布

判断数据是否符合正态分布,比如使用3-sigma判断数据异常前,首先需要确定的是数据是否符合正态分布。今天一起

One Reply to “相似度计算之Dice系数”

  1. 你的代码有错误,怕是你对这个公式不理解

阿呆进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注