回答:
ジャカードの類似性は、与えられ
ここで、
p =両方のオブジェクトに対して正の属性の数
q = iの属性1とj
の属性0の数r = iの属性0とj の属性1の数
一方、コサイン類似度=ここで、AとBはオブジェクトベクトルです。
簡単に言えば、コサインの類似性では、一般的な属性の数が可能な属性の総数で除算されます。一方、Jaccard Similarityでは、共通属性の数は、2つのオブジェクトの少なくとも1つに存在する属性の数で除算されます。
また、類似性の他の多くの尺度があり、それぞれ独自の離心率があります。どちらを使用するかを決定する際には、いくつかの代表的なケースを考え、どのインデックスが最も有用な結果をもたらし、目的を達成するかを考えてみてください。
コサインインデックスは、盗作を識別するために使用できますが、インターネット上のミラーサイトを識別するための適切なインデックスにはなりません。一方、Jaccardインデックスは、ミラーサイトを識別するのに適したインデックスになりますが、コピーパスタ盗作(大規模なドキュメント内)をキャッチするのにはあまり適していません。
これらのインデックスを適用するときは、問題について十分に検討し、類似性を定義する方法を理解する必要があります。定義を念頭に置いたら、インデックスの購入に取り掛かることができます。
編集: 以前、この答えには例が含まれていましたが、最終的には間違っていました。そのことを指摘してくれた複数のユーザーのおかげで、間違った例を削除しました。
cosine_similarity(10*[1]+90*[0], 10*[1]+90*[0])
。もちろん、コサインの類似性もここでは1になります。これは、両方の尺度が両方のベクトルでゼロである要素を無視するためです。
私はステータスを持っていないのでコメントできませんが、チェックされた答えが間違っているだけでなく、質問に答えていません。∥A∥は、AのL2ノルム、つまり、ベクトルAの次元ではなく、ユークリッド空間のベクトルの長さを意味します。つまり、0ビットをカウントせず、1ビットを加算して、平方根。したがって、長さ100のベクトルの10個の属性の例も間違っています。申し訳ありませんが、どのメトリックをいつ使用するかについての本当の答えはありませんが、間違った答えに挑戦することはできません。
Jaccardの類似性は、2種類のバイナリケースに使用されます。
通常、コサイン類似度は、ドキュメントまたは電子メールを比較するためのテキストマイニングのコンテキストで使用されます。2つのドキュメント用語ベクトル間のコサイン類似性が高い場合、両方のドキュメントに共通の単語数が多くなります
もう1つの違いは1です。Jaccard係数は非類似度または距離の尺度として使用できますが、コサイン類似度にはそのような構造はありません。同様のことは、分類法で使用されるTonimoto距離です。
cosine
は異なるが無効ではない手段です。