在这个例子中如何计算 Jaccard 相似度?(杰卡尔与余弦)

数据挖掘 相似
2021-09-29 03:27:14

我试图了解 Jaccard 和 Cosine 之间的区别。但是, Jaccard 相似度和余弦相似度的 Applications and Differences 中提供的答案似乎存在分歧

我正在寻找是否有人可以帮助我完成来自https://bioinformatics.oxfordjournals.org/content/suppl/2009/10/24/btp613.DC1/bioinf-2008-1835的余弦相似度示例中的 Jaccard 相似度的计算-文件004.pdf

鉴于:

在此处输入图像描述

问题:我们如何计算 t1 和 t2 之间的 Jaccard 相似度指数?

谢谢你。

1个回答

余弦相似度用于比较两个实值向量,而 Jaccard 相似度用于比较两个二进制向量(集合)因此,您无法计算两个向量之间的标准 Jaccard 相似度指数,但在这种情况下,您可以使用实值向量的 Jaccard 指数的通用版本:

Jg(a,b)=imin(ai,bi)imax(ai,bi)

所以对于你的例子t1=(1,1,0,1),t2=(2,0,1,1),广义 Jaccard 相似度指数可以计算如下:

Ĵ(1,2)=1+0+0+12+1+1+1=0.4

或者,您可以将您的词袋向量视为二进制向量,其中一个值1表示一个词的存在和0表示单词缺席, 1=(1,1,0,1),2=(1,0,1,1). 从那里,您可以计算原始的 Jaccard 相似度指数:

Ĵ(1,2)=22+1+1=0.5