Jaccard距离

4
我在计算集合(比特向量)的杰卡德距离时遇到了问题: p1 = 10111; p2 = 10011。
交集大小 = 3; (如何找出它?)
并集大小 = 4,(如何找出它?)
杰卡德相似度 = (交集/并集)= 3/4。
杰卡德距离 = 1 - (杰卡德相似度)= (1-3/4)= 1/4。
但我不明白我们如何找到这两个向量的“交集”“并集”
请帮助我。
非常感谢。
2个回答

6

交集的大小为3;(我们如何找到它?)

p1&p2中设置位的数量为10011。

并集的大小为4,(我们如何找到它?)

p1|p2中设置位的数量为10111。

这里的向量指二进制数组,其中第i位表示此集合中是否存在第i个元素。


3
请注意:如果您不知道如何计算“1”位的数量,请阅读此文档:http://www-graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive - ruslik
非常非常感谢你们所有人,我很感激你们的帮助。 :D - Visitor

4
如果p1 = 10111,p2 = 10011, p1和p2每种组合属性的总数:
M11 = 在p1和p2的值都为1的属性总数, M01 = 在p1的值为0且p2的值为1的属性总数, M10 = 在p1的值为1且p2的值为0的属性总数, M00 = 在p1和p2的值都为0的属性总数。
Jaccard相似系数 = J = 交集/并集 = M11/(M01 + M10 + M11) = 3 / (0 + 1 + 3) = 3/4, Jaccard距离 = J' = 1 - J = 1 - 3/4 = 1/4, 或者J' = 1 - (M11/(M01 + M10 + M11)) = (M01 + M10)/(M01 + M10 + M11) = (0 + 1)/(0 + 1 + 3) = 1/4。

为什么在计算二进制Jaccard距离时不包括M00?http://stackoverflow.com/questions/43518507/why-dont-we-include-0-matches-while-calculating-jaccard-distance-between-binary - Thilo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接