Jaccard相似度和余弦相似度是比较项目相似性时常用的两种度量方法。然而,在哪种情况下哪一种比另一种更可取,我并不十分清楚。
有人能帮助澄清这两种测量方法的差异(概念或原理的差异,而不是定义或计算)及其更好的应用吗?
发布于 2015-02-12 15:47:15
Jaccard相似度是由
哪里,
两个对象的属性为正的P=#
Q=#属性1表示i,0表示j
属性的r=#i为0,j为1
然而,余弦相似性= \frac{A \cdot B}{\|A\|\|B\|},其中A和B是对象向量。
简单地说,在向量A和B仅包含0和1s的情况下,余弦相似性将公共属性的数目除以A和B的距离从零到0的乘积。而在Jaccard相似性中,公共属性的数量除以至少存在于两个对象中的一个中的属性数。
还有许多其他的相似性度量,每一个都有自己的怪癖。在决定使用哪一种方法时,试着考虑几个有代表性的案例,并计算出哪一种索引能给出最有用的结果来实现您的目标。
Cosine指数可以用来识别剽窃,但并不是识别互联网镜像网站的好指标。而Jaccard索引,将是一个很好的索引,以识别镜像网站,但不太好捕捉拷贝意大利面抄袭(在一个更大的文档)。
在应用这些索引时,您必须彻底考虑您的问题,并确定如何定义相似性。一旦你有了定义,你就可以去买一个索引了。
编辑:早些时候,我在这个答案中包含了一个例子,这最终是不正确的。感谢几位用户指出这一点,我删除了错误的例子。
发布于 2016-03-02 12:00:50
Jaccard相似度用于两种类型的二进制情况:
余弦相似度通常用于文本挖掘中,用来比较文档或电子邮件。如果两个文档术语向量之间的余弦相似度较高,那么这两个文档都有更多的共同字数。
另一个不同之处是,1-Jaccard系数可以作为不同或距离的度量,而余弦相似度则没有这样的构造。一个类似的东西是Tonimoto距离,它被用于分类学。
发布于 2018-09-27 06:14:47
saq7 7的回答是错的。
在\mathbf{a}和\mathbf{b}是二进制向量的情况下,它们可以被解释为值为1的索引集。因此,让我们考虑集合A和B。
Jaccard相似度则由J(A, B) = \frac{|A \cap B|}{|A \cup B|} = \frac{|A \cap B|}{|A \cap B| + |A - B| + |B - A|}给出。
余弦相似度由C(A, B) = \frac{|A \cap B|}{\sqrt{\left|A\right|\left|B\right|}} = \frac{|A \cap B|}{\sqrt{(\left|A\cap B\right| + |A - B|)(\left|A\cap B\right| + |B - A|)}}给出。
一些比较:
我还没有明确的直觉,其中一个应该优先于另一个,除了,正如Vikram Venkat指出,1-jaccard对应一个真正的度量,不像余弦;余弦自然扩展到实值向量。
https://datascience.stackexchange.com/questions/5121
复制相似问题