2010-12-07 37 views
3

J'ai ce problème dans le calcul Jaccard Distance, pour les ensembles (vecteurs de bits):Jaccard Distance

p1 = 10111;

p2 = 10011.

Taille d'intersection = 3; (Comment peut-on atteindre?)

Taille de l'union = 4, (Comment peut-on atteindre?)

Jaccard similitude = (intersection/union) = 3/4.

Jaccard Distance = 1 - (similarité de Jaccard) = (1-3/4) = 1/4.

Mais je ne comprends pas comment pourrions-nous savoir le « intersection » et « union » des deux vecteurs.

S'il vous plaît aidez-moi.

Merci beaucoup.

Répondre

6

Taille de l'intersection = 3; (Comment peut-on atteindre?)

Nombre de bits de réglage de p1&p2 = 10011

Taille de l'union = 4, (Comment peut-on atteindre?)

Montant de définir des bits de p1|p2 = 10111

Vecteur signifie ici matrice binaire où les moyens du i-ème bit font le i-ème élément présent dans cet ensemble.

+3

Remarque: si vous ne savez pas comment calculer le nombre de '1 'bits, lisez ceci: http://www-graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive – ruslik

+0

Beaucoup de beaucoup de mercis pour vous tous, j'apprécie votre aide.: D – Visitor

+0

@Visitor ne pas oublier d'accepter la réponse si elle vous a aidé – Andrey

2

Si p1 = 10111 et p2 = 10011,

Le nombre total de chaque combinaison des attributs pour p1 et p2:

  • M11 = nombre total d'attributs où p1 & p2 ont une valeur 1,
  • M01 = nombre total d'attributs où p1 a une valeur 0 & p2 a une valeur 1,
  • M10 = nombre total d'attributs où p1 a une valeur 1 & p2 a une valeur de 0,
  • M00 = nombre total d'attributs où p1 p2 & ont une valeur 0.

Jaccard similitude coefficient = J = intersection/union = M11/(M01 + M10 + M11) = 3/(0 + 1 + 3) = 3/4,

Jaccard distance = J '= 1 - J = 1 - 3/4 = 1/4, ou J' = 1 - (M11/(M01 + M10 + M11)) = (M01 + M10)/(M01 + M10 + M11) = (0 + 1)/(0 + 1 + 3) = 1/4

+0

Pourquoi M00 n'est pas inclus dans le dénominateur? http://stackoverflow.com/questions/43518507/why-dont-we-include-0-matches-while-calculating-jaccard-distance-between-binary – Thilo