2017-04-20 2 views
1

私はJaccard Distanceに基づいてプログラムを作成しています.2つのバイナリビットベクトル間のJaccard Distanceを計算する必要があります。私はネット上で以下に出くわした:バイナリ番号間のjaccardの距離を計算するときに0件の一致が含まれないのはなぜですか?

If p1 = 10111 and p2 = 10011, 

The total number of each combination attributes for p1 and p2: 

M11 = total number of attributes where p1 & p2 have a value 1, 
M01 = total number of attributes where p1 has a value 0 & p2 has a value 1, 
M10 = total number of attributes where p1 has a value 1 & p2 has a value 0, 
M00 = total number of attributes where p1 & p2 have a value 0. 
Jaccard similarity coefficient = J = 
intersection/union = M11/(M01 + M10 + M11) 
= 3/(0 + 1 + 3) = 3/4, 

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

係数を計算しながら、なぜ「M00」は分母に含まれていませんでしたか?誰でも説明できますか?

+1

あなただけでなく、ネット上でこのスニペットに遭遇するだけでなく、右ここにすることができますhttp://stackoverflow.com/a/19969874/14955 – Thilo

答えて

0

AとBのジャカードインデックスは|A∩B|/|A∪B| = |A∩B| /(| A | + | B | - |A∩B|)。

私たちは:|A∩B| = M11、| A | = M11 + M10、| B | = M11 + M01である。 (M11 + M11 + M11 + M11)= M11 /(M10 + M01 + M11)となる。 。

このベン図が役立つことがあります。 enter image description here

+0

私は申し訳ありませんが、私はこれを理解できませんでした: | A | = M11 + M10、| B | = M11 + M01 あなたはこれにどのように到着したか説明していただけますか? –

+0

M11はAとBに現れるビットの数です。M10はAに表示されますがBには現れないビットの数です。その合計は何ですか? –

+0

代数的または複合的に思考しすぎている場合は、図を描画すると役立ちます。 –

関連する問題