Jaccard Ähnlichkeit ist gegeben durch
sij=pp+q+r
woher,
p = Anzahl der Attribute positiv für beide Objekte
q = Anzahl der Attribute 1 für i und 0 für j
r = Anzahl der Attribute 0 für i und 1 für j
A⋅B∥A∥∥B∥
Einfach ausgedrückt, wird in Kosinusähnlichkeit die Anzahl der gemeinsamen Attribute durch die Gesamtanzahl der möglichen Attribute geteilt. Während in Jaccard Similarity die Anzahl der gemeinsamen Attribute durch die Anzahl der Attribute geteilt wird, die in mindestens einem der beiden Objekte vorhanden sind.
Und es gibt viele andere Ähnlichkeitsmaße mit jeweils eigenen Exzentrizitäten. Überlegen Sie sich bei der Entscheidung, welchen Sie verwenden möchten, einige repräsentative Fälle und ermitteln Sie, welcher Index die am besten verwendbaren Ergebnisse liefert, um Ihr Ziel zu erreichen.
Der Cosine-Index kann zur Identifizierung von Plagiaten verwendet werden, ist jedoch kein guter Index zur Identifizierung von Spiegelseiten im Internet. Während der Jaccard-Index ein guter Index zur Identifizierung von Spiegelseiten ist, ist er nicht so gut geeignet, um das Plagiat von Kopien von Teigwaren (innerhalb eines größeren Dokuments) zu erkennen.
Wenn Sie diese Indizes anwenden, müssen Sie sich eingehend mit Ihrem Problem befassen und herausfinden, wie Ähnlichkeiten definiert werden. Sobald Sie eine Definition festgelegt haben, können Sie einen Index kaufen.
Bearbeiten:
Früher hatte ich ein Beispiel in dieser Antwort enthalten, die letztendlich falsch war. Dank der vielen Benutzer, die darauf hingewiesen haben, habe ich das fehlerhafte Beispiel entfernt.
cosine_similarity(10*[1]+90*[0], 10*[1]+90*[0])
. Natürlich wäre die Cosinus-Ähnlichkeit auch hier 1, da beide die Elemente ignorieren, die in beiden Vektoren Null sind.Ich kann keine Kommentare abgeben, da ich keinen Status habe, die überprüfte Antwort jedoch falsch ist und die Frage nicht beantwortet wird. ∥A∥ bedeutet die L2-Norm von A, dh die Länge des Vektors im euklidischen Raum, nicht die Dimension des Vektors A. Mit anderen Worten, Sie zählen die 0 Bits nicht, Sie addieren die 1 Bits und nehmen die Quadratwurzel. Das Beispiel von 10 Attributen eines Vektors mit 100 Längen ist also ebenfalls falsch. Tut mir leid, ich habe keine echte Antwort, wann Sie welche Metrik verwenden sollten, aber ich kann die falsche Antwort nicht einfach unangefochten lassen.
quelle
Jaccard-Ähnlichkeit wird für zwei Arten von Binärfällen verwendet:
Kosinusähnlichkeit wird normalerweise im Kontext von Text Mining zum Vergleichen von Dokumenten oder E-Mails verwendet. Wenn die Kosinusähnlichkeit zwischen zwei Dokumenttermvektoren höher ist, haben beide Dokumente mehr Wörter gemeinsam
Ein weiterer Unterschied ist 1 - Der Jaccard-Koeffizient kann als Unähnlichkeits- oder Abstandsmaß verwendet werden, wohingegen die Cosinus-Ähnlichkeit keine derartigen Konstrukte aufweist. Ähnlich verhält es sich mit der Tonimoto-Distanz, die in der Taxonomie verwendet wird.
quelle
cosine
eine andere, aber nicht ungültige Maßnahme.Wie oben erwähnt, ist die überprüfte Antwort falsch.
Einige Vergleiche:
Ich habe noch keine klare Vorstellung davon, wo das eine dem anderen vorzuziehen ist, außer dass, wie Vikram Venkat bemerkte, 1 - Jaccard im Gegensatz zu Cosinus einer wahren Metrik entspricht; und Kosinus erstreckt sich natürlich auf reelle Vektoren.
quelle