tanimoto係数(Jaccard係数の拡張)
数式
Pythonプログラムの実行結果
>>> tanimoto([1.0, 0.0, 0.0, 1.0], [1.0, 0.0, 1.0, 1.0]) 0.66666666666666663 >>> tanimoto([3.0, 2.0, 2.0, 0.0], [2.0, 1.0, 0.0, 1.0]) 0.53333333333333333
1番目の結果は通常のJaccard係数を用いても求めることができる値.
2番目の結果は「A{a=3,b=2,c=2}とB{a=2,b=1,d=1}の間の類似度」を算出.
つまりA={a,a,a,b,b,c,c}とB={a,a,b,d}の間の類似度.
これを使えばユーザ間の類似度をタグを使って求めることができそう.