2010-12-07 111 views
3

我在計算集合(位向量)的Jaccard距離時遇到此問題:Jaccard距離

p1 = 10111;

p2 = 10011.

交叉點的大小= 3; (我們怎樣才能找到它?)

工會= 4的大小,(我們怎樣才能找到它?)

Jaccard相似=(路口/集)= 3/4。 Jaccard Distance = 1 - (Jaccard similarity)=(1-3/4)= 1/4。

但我不明白,我們怎麼能找出「交集」「聯合」兩個向量的

請幫幫我。

非常感謝。

回答

6

交點大小= 3; (我們怎樣才能找到它?)的p1&p2 = 10011

工會= 4的大小的位集合

金額,(我們怎樣才能找到它?)

金額設置位p1|p2 = 10111

此處的向量意味着二進制數組,其中第i位表示第i個元素存在於該集合中。

+3

注意:如果您不知道如何計算'1 `位,閱讀:http://www-graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive – ruslik 2010-12-07 16:04:25

+0

許多人非常感謝你們所有人,我感謝你的幫助。:D – Visitor 2010-12-07 16:18:38

2

如果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 J = 1 - 3/4 = 1/4, 或J'= 1-(M11 /(M01 + M10 + M11))= 3/4,

Jaccard distance = J'= 1- =(M01 + M10)/(M01 + M10 + M11)=(0 + 1)/(0 + 1 + 3)= 1/4