Jaccard Podobieństwo podaje
sij=pp+q+r
gdzie,
p = liczba atrybutów dodatnia dla obu obiektów
q = liczba atrybutów 1 dla i i 0 dla j
r = liczba atrybutów 0 dla i i 1 dla j
Natomiast podobieństwo kosinusowe = A⋅B∥A∥∥B∥ gdzie A i B są wektorami obiektów.
Mówiąc prosto, w podobieństwie do kosinusa, liczba wspólnych atrybutów jest dzielona przez całkowitą liczbę możliwych atrybutów. Natomiast w podobieństwie Jaccard liczba wspólnych atrybutów jest dzielona przez liczbę atrybutów, które istnieją w co najmniej jednym z dwóch obiektów.
I istnieje wiele innych miar podobieństwa, z których każda ma swoje dziwactwa. Przy podejmowaniu decyzji, którego użyć, spróbuj pomyśleć o kilku reprezentatywnych przypadkach i ustal, który indeks dałby najbardziej użyteczne wyniki dla osiągnięcia twojego celu.
Indeks Cosinus może być użyty do zidentyfikowania plagiatu, ale nie będzie dobrym indeksem do identyfikacji stron lustrzanych w Internecie. Podczas gdy indeks Jaccard będzie dobrym indeksem do identyfikacji witryn lustrzanych, ale nie będzie tak świetny w łapaniu plagiatów makaronów (w większym dokumencie).
Stosując te wskaźniki, musisz dokładnie przemyśleć swój problem i wymyślić, jak zdefiniować podobieństwo. Kiedy masz już na myśli definicję, możesz zacząć kupować indeks.
Edycja:
Wcześniej w odpowiedzi znalazłem przykład, który był ostatecznie niepoprawny. Dzięki kilku użytkownikom, którzy to zauważyli, usunąłem błędny przykład.
cosine_similarity(10*[1]+90*[0], 10*[1]+90*[0])
. Oczywiście, podobieństwo cosinus również byłoby tutaj 1, ponieważ obie miary ignorują te elementy, które są zerowe w obu wektorach.Nie mogę komentować, ponieważ nie mam żadnego statusu, ale sprawdzona odpowiedź jest zła, a także nie odpowiada na pytanie. „A” oznacza normę L2 dla A, tj. Długość wektora w przestrzeni euklidesowej, a nie wymiarowość wektora A. Innymi słowy, nie liczysz 0 bitów, dodajesz 1 bit i bierzesz pierwiastek kwadratowy. Dlatego też przykład 10 atrybutów wektora o długości 100 jest błędny. Przykro mi, ale nie mam prawdziwej odpowiedzi na pytanie, kiedy powinieneś użyć której metryki, ale nie mogę po prostu pozwolić, aby niepoprawna odpowiedź pozostała niekwestionowana.
źródło
Podobieństwo Jaccard stosuje się w dwóch typach przypadków binarnych:
Podobieństwo cosinus jest zwykle używane w kontekście eksploracji tekstu do porównywania dokumentów lub wiadomości e-mail. Jeśli podobieństwo cosinusów między dwoma wektorami terminów dokumentu jest wyższe, wówczas oba dokumenty mają większą liczbę wspólnych słów
Inna różnica to 1 - Współczynnik Jaccarda może być stosowany jako miara podobieństwa lub odległości, podczas gdy podobieństwo kosinusowe nie ma takich konstrukcji. Podobną rzeczą jest odległość Tonimoto, która jest używana w taksonomii.
źródło
cosine
jest to inny, ale nie nieważny środek.Jak wspomniano powyżej, sprawdzona odpowiedź jest nieprawidłowa.
Gdzie i są binarne wektory, mogą być interpretowane jako zestawy wskaźników o wartości 1. Powiedzmy zatem rozważyć zestawy i .a b A B
Podobieństwo Jaccarda podajeJ(A,B)=|A∩B||A∪B|=|A∩B||A∩B|+|A−B|+|B−A|
Cosinus podobieństwo jest następnie podane przezC(A,B)=|A∩B||A||B|−−−−−√=|A∩B|(|A∩B|+|A−B|)(|A∩B|+|B−A|)−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√
Niektóre porównania:
Nie mam jeszcze jasnej intuicji co do tego, który z nich powinien być preferowany, z wyjątkiem tego, jak zauważył Vikram Venkat, 1 - Jaccard odpowiada prawdziwej metryki, w przeciwieństwie do cosinusa; a cosinus naturalnie rozciąga się na wektory o wartościach rzeczywistych.
źródło