Indice et distance de Jaccard

Page d’aide sur l’homonymie

Pour les articles homonymes, voir Jaccard.

L'indice et la distance de Jaccard sont deux métriques utilisées en statistiques pour comparer la similarité et la diversité (en) entre des échantillons. Elles sont nommées d'après le botaniste suisse Paul Jaccard.

Description formelle

L'indice de Jaccard (ou coefficient de Jaccard, appelé « coefficient de communauté » dans la publication d'origine[1]) est le rapport entre le cardinal (la taille) de l'intersection des ensembles considérés et le cardinal de l'union des ensembles. Il permet d'évaluer la similarité entre les ensembles. Soit deux ensembles A {\displaystyle A} et B {\displaystyle B} , l'indice est :

J ( A , B ) = | A B | | A B | {\displaystyle J(A,B)={\frac {|A\cap B|}{|A\cup B|}}} .

L'extension à n {\displaystyle n} ensembles est triviale :

J ( S 1 , S 2 , , S n ) = | S 1 S 2 S n | | S 1 S 2 S n | {\displaystyle J(S_{1},S_{2},\dotsc ,S_{n})={\frac {|S_{1}\cap S_{2}\cap \dotsb \cap S_{n}|}{|S_{1}\cup S_{2}\cup \dotsb \cup S_{n}|}}} .

La distance de Jaccard mesure la dissimilarité entre les ensembles. Elle consiste simplement à soustraire l'indice de Jaccard à 1.

J δ ( A , B ) = 1 J ( A , B ) = | A B | | A B | | A B | = | A Δ B | | A B | {\displaystyle J_{\delta }(A,B)=1-J(A,B)={{|A\cup B|-|A\cap B|} \over |A\cup B|}={{|A\,\Delta \,B|} \over |A\cup B|}}   où Δ {\displaystyle \Delta } est la différence symétrique.

De la même manière que pour l'indice, la généralisation devient :

J δ ( S 1 , S 2 , , S n ) = 1 J ( S 1 , S 2 , , S n ) = | S 1 S 2 S n | | S 1 S 2 S n | | S 1 S 2 S n | {\displaystyle J_{\delta }(S_{1},S_{2},\dotsc ,S_{n})=1-J(S_{1},S_{2},\dotsc ,S_{n})={\frac {|S_{1}\cup S_{2}\cup \dotsb \cup S_{n}|-|S_{1}\cap S_{2}\cap \dotsb \cap S_{n}|}{|S_{1}\cup S_{2}\cup \dotsb \cup S_{n}|}}} .

Similarité entre des ensembles binaires

L'indice de Jaccard est utile pour étudier la similarité entre des objets constitués d'attributs binaires.

Soit deux séquences A {\displaystyle A} et B {\displaystyle B} , chacune avec n {\displaystyle n} attributs binaires. Chaque attribut peut être à 0 ou 1. On a ainsi :

A = ( a 1 , a 2 , . . . , a n )   {\displaystyle A=(a_{1},a_{2},...,a_{n})~}  ;
B = ( b 1 , b 2 , . . . , b n )   {\displaystyle B=(b_{1},b_{2},...,b_{n})~} .

On définit plusieurs quantités qui caractérisent les deux ensembles :

A
0 1
B 0 M 00 {\displaystyle M_{00}} M 10 {\displaystyle M_{10}}
1 M 01 {\displaystyle M_{01}} M 11 {\displaystyle M_{11}}
M 11   {\displaystyle M_{11}~} représente le nombre d'attributs qui valent 1 dans A et 1 dans B ;
M 01   {\displaystyle M_{01}~} représente le nombre d'attributs qui valent 0 dans A et 1 dans B ;
M 10   {\displaystyle M_{10}~} représente le nombre d'attributs qui valent 1 dans A et 0 dans B ;
M 00   {\displaystyle M_{00}~} représente le nombre d'attributs qui valent 0 dans A et 0 dans B.

Chaque paire d'attributs doit nécessairement appartenir à l'une des quatre catégories, de telle sorte que :

M 11 + M 01 + M 10 + M 00 = n   {\displaystyle M_{11}+M_{01}+M_{10}+M_{00}=n~} .

L'indice de Jaccard devient :

J = M 11 M 01 + M 10 + M 11   {\displaystyle J={M_{11} \over M_{01}+M_{10}+M_{11}}~} .

En utilisant ces deux dernières expressions, on obtient :

J = M 11 n M 00   {\displaystyle J={M_{11} \over n-M_{00}}~} .

Il suffit donc de ne calculer que les nombres d'attributs :

  • valant 1 dans tous les ensembles ;
  • valant 0 dans tous les ensembles.

La dernière écriture de cette formule, faisant intervenir n {\displaystyle n} , est généralisable pour l'étude de similarité de plusieurs ensembles binaires (en calculant M 00...00 {\displaystyle M_{00...00}} et M 11..11 {\displaystyle M_{11..11}} avec autant de 0 et de 1 que d'ensembles).

La distance de Jaccard devient :

J δ = M 01 + M 10 M 01 + M 10 + M 11 {\displaystyle J_{\delta }={M_{01}+M_{10} \over M_{01}+M_{10}+M_{11}}} .

Exemple

A = ( 1 , 0 , 1 , 0 , 0 , 0 , 0 )   {\displaystyle A=(1,0,1,0,0,0,0)~}
B = ( 1 , 0 , 0 , 1 , 0 , 1 , 1 )   {\displaystyle B=(1,0,0,1,0,1,1)~}
M 11 = 1   {\displaystyle M_{11}=1~}
M 00 = 2   {\displaystyle M_{00}=2~}
M 01 = 3   {\displaystyle M_{01}=3~}
M 10 = 1   {\displaystyle M_{10}=1~}
J = 1 3 + 1 + 1 = 0 , 2 {\displaystyle J={\frac {1}{3+1+1}}=0,2}
J δ = 3 + 1 3 + 1 + 1 = 0 , 8 = 1 J {\displaystyle J_{\delta }={\frac {3+1}{3+1+1}}=0,8=1-J}

En utilisant l'écriture de la formule faisant intervenir n {\displaystyle n} (plus rapide) :

n = 7   {\displaystyle n=7~}
M 11 = 1   {\displaystyle M_{11}=1~}
M 00 = 2   {\displaystyle M_{00}=2~}
J = 1 7 2 = 0 , 2 {\displaystyle J={\frac {1}{7-2}}=0,2}
J δ = 1 J = 1 1 7 2 = 0 , 8 {\displaystyle J_{\delta }=1-J=1-{\frac {1}{7-2}}=0,8}

Voir aussi

Références

  1. Paul Jaccard, « Distribution de la flore alpine dans le bassin des Dranses et dans quelques régions voisines », Bulletin de la Société vaudoise des sciences naturelles, vol. 37,‎ , p. 241-272 (lire en ligne).
  • Pang-Ning Tan, Michael Steinbach and Vipin Kumar, Introduction to Data Mining, 2005 (ISBN 0-321-32136-7)
  • Tanimoto, T.T. (1957) IBM Internal Report 17th Nov. 1957.

Liens externes

  • (en) indice de Jaccard et diversité entre espèces
  • (en) Exemple de coefficient de Jaccard
  • (en) Introduction à la fouille de données
  • (en) SimMetrics, une implémentation des métriques de similarité
  • (fr) Similarité et Duplicate content : L'indice de Jaccard
  • icône décorative Portail des probabilités et de la statistique