Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment calculer la similarité Jaccard en Python



L’ indice de similarité Jaccard mesure la similarité entre deux ensembles de données. Il peut aller de 0 à 1. Plus le nombre est élevé, plus les deux ensembles de données sont similaires.

L’indice de similarité Jaccard est calculé comme suit :

Similitude Jaccard = (nombre d’observations dans les deux ensembles) / (nombre dans l’un ou l’autre ensemble)

Ou, écrit sous forme de notation :

J(UNE, B) = |UNE∩B| / |UNE∪B|

Ce tutoriel explique comment calculer la similarité Jaccard pour deux ensembles de données en Python.

Exemple : similarité Jaccard en Python

Supposons que nous disposions des deux ensembles de données suivants :

import numpy as np

a = [0, 1, 2, 5, 6, 8, 9]
b = [0, 2, 3, 4, 5, 7, 9]

Nous pouvons définir la fonction suivante pour calculer la similarité Jaccard entre les deux ensembles :

#define Jaccard Similarity function
def jaccard(list1, list2):
    intersection = len(list(set(list1).intersection(list2)))
    union = (len(list1) + len(list2)) - intersection
    return float(intersection) / union

#find Jaccard Similarity between the two sets 
jaccard(a, b)

0.4

La similarité Jaccard entre les deux listes est de 0,4 .

Notez que la fonction renverra 0 si les deux ensembles ne partagent aucune valeur :

c = [0, 1, 2, 3, 4, 5]
d = [6, 7, 8, 9, 10]

jaccard(c, d)

0.0

Et la fonction retournera 1 si les deux ensembles sont identiques :

e = [0, 1, 2, 3, 4, 5]
f = [0, 1, 2, 3, 4, 5]

jaccard(e, f)

1.0

La fonction fonctionne également pour les ensembles contenant des chaînes :

g = ['cat', 'dog', 'hippo', 'monkey']
h = ['monkey', 'rhino', 'ostrich', 'salmon']

jaccard(g, h)

0.142857

Vous pouvez également utiliser cette fonction pour trouver la distance Jaccard entre deux ensembles, qui est la dissimilarité entre deux ensembles et est calculée comme 1 – Similitude Jaccard.

a = [0, 1, 2, 5, 6, 8, 9]
b = [0, 2, 3, 4, 5, 7, 9]

#find Jaccard distance between sets a and b
1 - jaccard(a, b)

0.6

Connexes :Comment calculer la similarité de Jaccard dans R

Reportez-vous à cette page Wikipédia pour en savoir plus sur l’indice de similarité Jaccard.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *