Applicazioni e differenze per la somiglianza di Jaccard e la somiglianza del coseno


27

La somiglianza di Jaccard e la somiglianza del coseno sono due misurazioni molto comuni mentre si confrontano le somiglianze degli oggetti. Tuttavia, non sono molto chiaro in quale situazione quale dovrebbe essere preferibile rispetto a un altro.

Qualcuno può aiutare a chiarire le differenze di queste due misurazioni (la differenza di concetto o principio, non la definizione o il calcolo) e le loro applicazioni preferibili?

Risposte:


19

La somiglianza di Jaccard è data da sij=pp+q+r

dove,

p = # di attributi positivi per entrambi gli oggetti
q = # di attributi 1 per i e 0 per j
r = # di attributi 0 per ie 1 per j

Considerando che la somiglianza del coseno = dove A e B sono vettori di oggetti.ABAB

In poche parole, in somiglianza del coseno, il numero di attributi comuni è diviso per il numero totale di attributi possibili. Mentre in Jaccard Somiglianza, il numero di attributi comuni è diviso per il numero di attributi che esiste in almeno uno dei due oggetti.

E ci sono molte altre misure di somiglianza, ognuna con le proprie eccentricità. Quando decidi quale utilizzare, prova a pensare ad alcuni casi rappresentativi e capire quale indice darebbe i risultati più utilizzabili per raggiungere il tuo obiettivo.

L'indice del coseno potrebbe essere utilizzato per identificare il plagio, ma non sarà un buon indice per identificare i siti mirror su Internet. Considerando che l'indice Jaccard, sarà un buon indice per identificare i siti mirror, ma non così grande nel catturare il plagio della pasta da copia (all'interno di un documento più grande).

Quando si applicano questi indici, è necessario riflettere a fondo sul problema e capire come definire la somiglianza. Una volta che hai in mente una definizione, puoi fare shopping per un indice.

Modifica: In precedenza, avevo incluso un esempio in questa risposta, che alla fine era errato. Grazie ai vari utenti che lo hanno sottolineato, ho rimosso l'esempio errato.


2
potresti spiegare perché l'indice del coseno è migliore per identificare il plagio e non buono per identificare i siti mirror?
dharm0us,

Sento che alcune parti di questa risposta non sono intuitive. "Ad esempio, se hai due oggetti entrambi con 10 attributi, su 100 possibili. Inoltre hanno tutti e 10 gli attributi in comune. In questo caso, l'indice Jaccard sarà 1 e l'indice del coseno sarà 0,001." Questo si tradurrebbe in qualcosa di simile cosine_similarity(10*[1]+90*[0], 10*[1]+90*[0]). Naturalmente, la somiglianza del coseno sarebbe anche 1 qui, poiché entrambe le misure ignorano quegli elementi che sono zero in entrambi i vettori.
fsociety,

1
Questa risposta è errata sulla somiglianza del coseno, si prega di considerare la risposta dell'utente18596
Robin

"In poche parole, in somiglianza del coseno, il numero di attributi comuni è diviso per il numero totale di attributi possibili" -> questo è del tutto errato. La notazione definisce i prodotti e le norme dei punti vettoriali.
Sean Owen,

23

Non posso commentare perché non ho alcuno stato, ma la risposta selezionata è errata, oltre a non rispondere alla domanda. ∥A∥ indica la norma L2 di A, ovvero la lunghezza del vettore nello spazio euclideo, non la dimensionalità del vettore A. In altre parole, non si contano gli 0 bit, si sommano i 1 bit e si prende il radice quadrata. Quindi anche l'esempio di 10 attributi di un vettore di 100 lunghezze è sbagliato. Mi dispiace non ho una risposta reale su quando dovresti usare quale metrica, ma non posso lasciare che la risposta errata rimanga incontrastata.


2
Hai perfettamente ragione. È un peccato che così tante persone stiano votando una risposta errata. La somiglianza del coseno, come descritto nell'articolo di Wikipedia, non tiene conto di 0 bit. en.wikipedia.org/wiki/Cosine_similarity
neelshiv

11

La somiglianza di Jaccard è usata per due tipi di casi binari:

  1. Simmetrico, dove 1 e 0 hanno uguale importanza (genere, stato civile, ecc.)
  2. Asimmetrico, dove 1 e 0 hanno diversi livelli di importanza (risultati positivi per una malattia)

La somiglianza del coseno viene generalmente utilizzata nel contesto del mining di testo per confrontare documenti o e-mail. Se la somiglianza del coseno tra due vettori di termini del documento è maggiore, entrambi i documenti hanno più numero di parole in comune

Un'altra differenza è 1: il coefficiente di Jaccard può essere usato come misura di differenza o di distanza, mentre la somiglianza del coseno non ha tali costrutti. Una cosa simile è la distanza Tonimoto, che viene utilizzata in tassonomia.


Perché solo Jaccard può essere usato come misura di dissomiglianza? La mia comprensione è che si cosinetratta di una misura diversa ma non invalida.
javadba,

3

Come notato sopra, la risposta selezionata è errata.

abUNB

J(UN,B)=|UNB||UNB|=|UNB||UNB|+|UN-B|+|B-UN|

C(A,B)=|AB||A||B|=|AB|(|AB|+|AB|)(|AB|+|BA|)

Alcuni confronti:

  • I numeratori qui sono gli stessi.
  • |A||B|
  • |A||B|

Non ho ancora una chiara intuizione su dove uno dovrebbe essere preferito rispetto all'altro, tranne che, come ha notato Vikram Venkat, 1 - Jaccard corrisponde a una vera metrica, a differenza del coseno; e il coseno si estende naturalmente ai vettori di valore reale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.