Cómo calcular la similitud de Jaccard en Python

Actualizado por ultima vez el 7 de mayo de 2021, por .

El índice de similitud de Jaccard mide la similitud entre dos conjuntos de datos. Puede variar de 0 a 1. Cuanto mayor sea el número, más similares serán los dos conjuntos de datos.

El índice de similitud de Jaccard se calcula como:

Similitud Jaccard = (número de observaciones en ambos conjuntos) / (número en cualquiera de los conjuntos)

O, escrito en forma de notación:

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

Este tutorial explica cómo calcular la similitud de Jaccard para dos conjuntos de datos en Python.

Ejemplo: similitud de Jaccard en Python

Supongamos que tenemos los siguientes dos conjuntos de datos:

importar numpy como np

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

Podemos definir la siguiente función para calcular la similitud Jaccard entre los dos conjuntos:

#define Jaccard Similarity function 
def jaccard (list1, list2):
    intersección = len (lista (conjunto (lista1) .intersección (lista2)))
    union = (len (lista1) + len (lista2)) - intersección
    return float (intersección) / union

#Encuentre la similitud Jaccard entre los dos conjuntos 
jaccard (a, b)

0.4

La similitud de Jaccard entre las dos listas es 0,4 .

Tenga en cuenta que la función devolverá 0 si los dos conjuntos no comparten ningún valor:

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

jaccard (c, d)

0.0

Y la función devolverá 1 si los dos conjuntos son idénticos:

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

jaccard (e, f)

1.0

La función también funciona para conjuntos que contienen cadenas:

g = ['gato', 'perro', 'hipopótamo', 'mono']
h = ['mono', 'rinoceronte', 'avestruz', 'salmón']

jaccard (g, h)

0.142857

También puede utilizar esta función para encontrar la distancia Jaccard entre dos conjuntos, que es la diferencia entre dos conjuntos y se calcula como 1 – Similitud Jaccard.

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

distancia #find Jaccard entre series una y b
1 - tarjeta jaccard (a, b)

0,6

Relacionado: Cómo calcular la similitud de Jaccard en R

Consulte esta página de Wikipedia para obtener más detalles sobre el índice de similitud de Jaccard.

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Una gráfica logarítmica es una gráfica que usa escalas logarítmicas tanto en el eje x como en el eje y.…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!