Articulo de referencia

Índice de Jaccard

Intersección y unión de dos conjuntos A y B. La intersección sobre la unión como medida de similitud para la detección de objetos en imágenes : una tarea importante en la visión...

Intersección y unión de dos conjuntos A y B.
La intersección sobre la unión como medida de similitud para la detección de objetos en imágenes : una tarea importante en la visión por computadora . 

El índice de Jaccard es una estadística que se utiliza para medir la similitud y la diversidad de conjuntos de muestras . Generalmente se define como la razón entre dos tamaños (áreas o volúmenes), es decir, el tamaño de la intersección dividido por el tamaño de la unión, también llamado intersección sobre unión ( IoU ).

El concepto fue introducido por primera vez por Grove Karl Gilbert en 1884 como el “cociente de verificación” en contextos de evaluación de predicciones geológicas. [ 1 ] y ahora se le suele llamar índice crítico de éxito en meteorología. [ 2 ] Posteriormente fue desarrollado independientemente por Paul Jaccard , quien originalmente le dio el nombre francés de coefficient de communauté (coeficiente de comunidad), [ 3 ] [ 4 ] y fue formulado de nuevo independientemente por Taffee Tadashi Tanimoto. [ 5 ] Por lo tanto, también se le llama índice de Tanimoto o coeficiente de Tanimoto en algunos campos.

Descripción general

El índice de Jaccard mide la similitud entre conjuntos de muestras finitos no vacíos y se define como el tamaño de la intersección dividido por el tamaño de la unión de los conjuntos de muestras:

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

El índice de Jaccard puede interpretarse como una medida normalizada de superposición entre dos conjuntos, donde la intersección representa los elementos compartidos y la unión representa el conjunto total de elementos distintos. Por definición,0J(A,B)1.{\displaystyle 0\leq J(A,B)\leq 1.}Si los conjuntosA{\displaystyle A}yB{\displaystyle B}no tienen elementos en común, su intersección es vacía, por lo tanto|AB|=0{\displaystyle |A\cap B|=0}y por lo tantoJ(A,B)=0.{\displaystyle J(A,B)=0.}El otro extremo es que los dos conjuntos sean iguales. En ese casoAB=AB=A=B,{\displaystyle A\cap B=A\cup B=A=B,}conqueJ(A,B)=1.{\displaystyle J(A,B)=1.}El índice de Jaccard se utiliza ampliamente en informática, ecología, genómica y otras ciencias donde se utilizan datos binarios o binarizados. [ 6 ] [ 7 ]

Tanto la solución exacta como los métodos de aproximación están disponibles para la prueba de hipótesis con el índice de Jaccard. [ 8 ] La similitud de Jaccard también se aplica a bolsas, es decir, multiconjuntos . Tiene una fórmula similar, [ 9 ] pero los símbolos utilizados representan la intersección de bolsas y la suma de bolsas (no la unión). El valor máximo es 1/2.

J(A,B)=|AB||AB|=|AB||A|+|B|.{\displaystyle J(A,B)={\frac {|A\cap B|}{|A\uplus B|}}={\frac {|A\cap B|}{|A|+|B|}}.}

La distancia de Jaccard , que mide la disimilitud entre conjuntos de muestras, es complementaria al índice de Jaccard y se obtiene restando el índice de Jaccard de 1 o, equivalentemente, dividiendo la diferencia de los tamaños de la unión y la intersección de dos conjuntos por el tamaño de la unión:

dJ(A,B)=1J(A,B)=|AB||AB||AB|.{\displaystyle d_{J}(A,B)=1-J(A,B)={\frac {|A\cup B|-|A\cap B|}{|A\cup B|}}.}

Una interpretación alternativa de la distancia de Jaccard es como la razón del tamaño de la diferencia simétrica.AB=(AB)(AB){\displaystyle A\mathbin {\triangle } B=(A\cup B)-(A\cap B)}a la unión. La distancia de Jaccard se usa comúnmente para calcular una matriz n × n para la agrupación y el escalamiento multidimensional de n conjuntos de muestras. Estas medidas de distancia se usan comúnmente en el análisis de clústeres para agrupar observaciones similares. [ 10 ]

Esta distancia es una métrica sobre la colección de todos los conjuntos finitos. [ 11 ] [ 12 ] [ 13 ]

También existe una versión de la distancia de Jaccard para medidas , incluidas las medidas de probabilidad . Siμ{\displaystyle \mu }es una medida en un espacio mensurableincógnita{\displaystyle X}, luego definimos el índice de Jaccard por

Jμ(A,B)=μ(AB)μ(AB),{\displaystyle J_{\mu }(A,B)={\frac {\mu (A\cap B)}{\mu (A\cup B)}},}

y la distancia de Jaccard por

dμ(A,B)=1Jμ(A,B)=μ(AB)μ(AB).{\displaystyle d_{\mu }(A,B)=1-J_{\mu }(A,B)={\frac {\mu (A\mathbin {\triangle } B)}{\mu (A\cup B)}}.}

La definición no está bien definida cuandoμ(AB)=0{\displaystyle \mu (A\cup B)=0}oμ(AB)={\displaystyle \mu (A\cup B)=\infty }.

El esquema de hash sensible a la localidad de permutaciones independientes min-wise MinHash se puede utilizar para calcular de manera eficiente una estimación precisa del índice de similitud de Jaccard de pares de conjuntos, donde cada conjunto está representado por una firma de tamaño constante derivada de los valores mínimos de una función hash .

El índice de Jaccard es particularmente útil para analizar conjuntos de datos dispersos y de gran escala en aplicaciones modernas de minería de datos . [ 14 ]

Similitud de atributos binarios asimétricos

Dados dos objetos, A y B , cada uno con n atributos binarios , el índice de Jaccard es una medida útil de la superposición que A y B comparten con sus atributos. Cada atributo de A y B puede ser 0 o 1. El número total de cada combinación de atributos para A y B se especifica de la siguiente manera:

METRO11{\displaystyle M_{11}}representa el número total de atributos donde A y B tienen ambos un valor de 1.
METRO01{\displaystyle M_{01}}representa el número total de atributos donde el atributo de A es 0 y el atributo de B es 1.
METRO10{\displaystyle M_{10}}representa el número total de atributos donde el atributo de A es 1 y el atributo de B es 0.
METRO00{\displaystyle M_{00}}representa el número total de atributos donde A y B tienen ambos un valor de 0.

Cada atributo debe encajar en una de estas cuatro categorías, lo que significa que

METRO11+METRO01+METRO10+METRO00=norte.{\displaystyle M_{11}+M_{01}+M_{10}+M_{00}=n.}

El índice de similitud de Jaccard, J , se define como

J=METRO11METRO01+METRO10+METRO11.{\displaystyle J={M_{11} \over M_{01}+M_{10}+M_{11}}.}

La distancia de Jaccard, d J , se da como

dJ=METRO01+METRO10METRO01+METRO10+METRO11=1J.{\displaystyle d_{J}={M_{01}+M_{10} \over M_{01}+M_{10}+M_{11}}=1-J.}

Se puede realizar inferencia estadística basada en el índice de similitud de Jaccard y, por consiguiente, en métricas relacionadas. [ 8 ] Dados dos conjuntos de muestras A y B con n atributos, se puede realizar una prueba estadística para ver si una superposición es estadísticamente significativa . La solución exacta está disponible, aunque el cálculo puede ser costoso a medida que n aumenta. [ 8 ] Los métodos de estimación están disponibles ya sea aproximando una distribución multinomial o mediante bootstrapping . [ 8 ]

Diferencia con el índice de coincidencia simple (SMC)

Cuando se utiliza para atributos binarios, el índice de Jaccard es muy similar al coeficiente de coincidencia simple . La principal diferencia es que el SMC tiene el términoMETRO00{\displaystyle M_{00}}en su numerador y denominador, mientras que el índice de Jaccard no. Por lo tanto, el SMC cuenta tanto las presencias mutuas (cuando un atributo está presente en ambos conjuntos) como las ausencias mutuas (cuando un atributo está ausente en ambos conjuntos) como coincidencias y lo compara con el número total de atributos en el universo, mientras que el índice de Jaccard solo cuenta la presencia mutua como coincidencias y la compara con el número de atributos que han sido elegidos por al menos uno de los dos conjuntos.

En el análisis de cesta de la compra , por ejemplo, la cesta de dos consumidores que deseamos comparar podría contener solo una pequeña fracción de todos los productos disponibles en la tienda, por lo que el SMC normalmente devolverá valores de similitud muy altos incluso cuando las cestas tengan muy poca semejanza. Esto puede ser inapropiado en conjuntos de datos dispersos dondeMETRO00{\displaystyle M_{00}}Por lo general, es grande, lo que hace que el índice de Jaccard sea una medida de similitud más apropiada en ese contexto. Por ejemplo, consideremos un supermercado con 1000 productos y dos clientes. La cesta del primer cliente contiene sal y pimienta, y la del segundo, sal y azúcar. En este caso, la similitud entre las dos cestas, medida con el índice de Jaccard, sería de 1/3, pero la similitud se convierte en 0,998 utilizando el SMC.

En otros contextos, donde 0 y 1 contienen información equivalente (simetría), el SMC es una mejor medida de similitud. Por ejemplo, los vectores de variables demográficas almacenadas en variables ficticias , como el género, se compararían mejor con el SMC que con el índice de Jaccard, ya que el impacto del género en la similitud debería ser igual, independientemente de si el hombre se define como 0 y la mujer como 1, o viceversa. Sin embargo, cuando tenemos variables ficticias simétricas, se podría replicar el comportamiento del SMC dividiendo las variables ficticias en dos atributos binarios (en este caso, hombre y mujer), transformándolas así en atributos asimétricos, lo que permite el uso del índice de Jaccard sin introducir ningún sesgo. No obstante, el SMC sigue siendo computacionalmente más eficiente en el caso de variables ficticias simétricas, ya que no requiere añadir dimensiones adicionales.

El índice de Jaccard se usa comúnmente para datos binarios asimétricos o de presencia-ausencia, donde la presencia de un atributo se considera más informativa que su ausencia. En tales datos, las ausencias compartidas se tratan como no informativas y se excluyen del cálculo. Esto hace que la medida sea particularmente adecuada para datos binarios dispersos en los que la ocurrencia de una característica es más significativa que su no ocurrencia. Sin embargo, para variables binarias simétricas, pueden preferirse medidas como el coeficiente de coincidencia simple porque cuentan tanto las presencias compartidas como las ausencias compartidas. [ 15 ] La distinción entre medidas de similitud que incluyen o excluyen ausencias conjuntas se ha discutido ampliamente en la literatura de taxonomía numérica y clasificación. [ 16 ] El índice de Jaccard se define como

J(A,B)=METRO11METRO11+METRO10+METRO01{\displaystyle J(A,B)={\frac {M_{11}}{M_{11}+M_{10}+M_{01}}}}

dóndeMETRO11{\displaystyle M_{11}}es el número de atributos donde ambos valores son 1,METRO10{\displaystyle M_{10}}donde solo A es 1, yMETRO01{\displaystyle M_{01}}donde solo B es 1.

Similitud y distancia de Jaccard ponderadas

Siincógnita=(incógnita1,incógnita2,,incógnitanorte){\displaystyle \mathbf {x} =(x_{1},x_{2},\ldots ,x_{n})}yy=(y1,y2,,ynorte){\displaystyle \mathbf {y} =(y_{1},y_{2},\ldots ,y_{n})}son dos vectores con todos los números realesincógnitai,yi0{\displaystyle x_{i},y_{i}\geq 0}, entonces su índice de similitud de Jaccard (también conocido como similitud de Ruzicka ) se define como

JW(incógnita,y)=imin(incógnitai,yi)imáximo(incógnitai,yi),{\displaystyle J_{\mathcal {W}}(\mathbf {x} ,\mathbf {y} )={\frac {\sum _{i}\min(x_{i},y_{i})}{\sum _{i}\max(x_{i},y_{i})}},}

y la distancia de Jaccard (también conocida entonces como distancia de Soergel)

dJW(incógnita,y)=1JW(incógnita,y).{\displaystyle d_{J{\mathcal {W}}}(\mathbf {x} ,\mathbf {y} )=1-J_{\mathcal {W}}(\mathbf {x} ,\mathbf {y} ).}

Con aún mayor generalidad, siF{\displaystyle f}ygramo{\displaystyle g}son dos funciones medibles no negativas en un espacio medibleincógnita{\displaystyle X}con medidaμ{\displaystyle \mu }, entonces podemos definir

JW(F,gramo)=min(F,gramo)dμmáximo(F,gramo)dμ,{\displaystyle J_{\mathcal {W}}(f,g)={\frac {\int \min(f,g)d\mu }{\int \max(f,g)d\mu }},}

dóndemáximo{\displaystyle \max }ymin{\displaystyle \min }son operadores puntuales. Entonces la distancia de Jaccard es

dJW(F,gramo)=1JW(F,gramo).{\displaystyle d_{J{\mathcal {W}}}(f,g)=1-J_{\mathcal {W}}(f,g).}

Luego, por ejemplo, para dos conjuntos mediblesA,Bincógnita{\displaystyle A,B\subseteq X}, tenemosJμ(A,B)=J(χA,χB),{\displaystyle J_{\mu }(A,B)=J(\chi _{A},\chi _{B}),}dóndeχA{\displaystyle \chi _{A}}yχB{\displaystyle \chi _{B}}son las funciones características del conjunto correspondiente.

Comparación de las tasas de crecimiento de la complejidad algorítmica. A continuación se muestra el cálculo estándar de Jaccard.O(norte){\displaystyle O(n)}, mientras que una optimización dispersa permite que el tiempo de procesamiento se ajuste en relación con el número de atributos distintos de cero.

El cálculo del índice de similitud de Jaccard ponderado para dos vectores normalmente requiere una sola pasada sobre los datos, lo que resulta en una complejidad computacional lineal deO(norte){\displaystyle O(n)}, dóndenorte{\displaystyle n}representa el número de dimensiones. En aplicaciones de ciencia de datos , esto a menudo se optimiza para vectores dispersos iterando solo sobre elementos distintos de cero, lo que reduce significativamente el tiempo de procesamiento para conjuntos de datos de alta dimensión. Esta optimización traslada la complejidad aO(k){\displaystyle O(k)}, dóndek{\displaystyle k}es el número de atributos distintos de cero.

# Pseudocódigo para la función de complejidad O(k) jaccardIndex ( vector_A , vector_B ): intersection_sum = 0 union_sum = 0# Obtener el total de claves únicas all_keys = unique_keys ( vector_A . keys () + vector_B . keys ())para cada clave en all_keys : val_a = vector_A.get ( key , 0 ) val_b = vector_B.get ( key , 0 )suma_intersección += min ( val_a , val_b ) suma_unión += max ( val_a , val_b )devolver la suma de la intersección / la suma de la unión

Para optimizar aún más el tiempo de procesamiento, se utilizan técnicas como MinHashing y el hashing sensible a la localidad para aproximar el índice mediante firmas compactas. Estas mejoras algorítmicas garantizan que las medidas de similitud sigan siendo escalables y eficientes, a pesar del aumento en el volumen y la dimensionalidad de los datos. [ 17 ]

Probabilidad, similitud de Jaccard y distancia

La similitud de Jaccard ponderada descrita anteriormente generaliza el índice de Jaccard a vectores positivos, donde un conjunto corresponde a un vector binario dado por la función indicadora , es decirincógnitai{0,1}{\displaystyle x_{i}\in \{0,1\}}Sin embargo, no generaliza el índice de Jaccard a distribuciones de probabilidad , donde un conjunto corresponde a una distribución de probabilidad uniforme, es decir

incógnitai={1|incógnita|iincógnita0de lo contrario{\displaystyle x_{i}={\begin{cases}{\frac {1}{|X|}}&i\in X\\0&{\text{otherwise}}\end{cases}}}

Siempre es menor si los conjuntos difieren en tamaño. Si|incógnita|>|Y|{\displaystyle |X|>|Y|}, yincógnitai=1incógnita(i)/|incógnita|,yi=1Y(i)/|Y|{\displaystyle x_{i}=\mathbf {1} _{X}(i)/|X|,y_{i}=\mathbf {1} _{Y}(i)/|Y|}entonces

JW(incógnita,y)=|incógnitaY||incógnitaY|+|incógnita|<J(incógnita,Y).{\displaystyle J_{\mathcal {W}}(x,y)={\frac {|X\cap Y|}{|X\setminus Y|+|X|}}<J(X,Y).}
El índice de probabilidad de Jaccard puede interpretarse como intersecciones de símplices.

En cambio, una generalización que es continua entre las distribuciones de probabilidad y sus conjuntos de soporte correspondientes es

JPAG(incógnita,y)=incógnitai0,yi01jmáximo(incógnitajincógnitai,yjyi){\displaystyle J_{\mathcal {P}}(x,y)=\sum _{x_{i}\neq 0,y_{i}\neq 0}{\frac {1}{\sum _{j}\max \left({\frac {x_{j}}{x_{i}}},{\frac {y_{j}}{y_{i}}}\right)}}}

que se denomina Jaccard de "Probabilidad". [ 18 ] Tiene los siguientes límites con respecto al Jaccard ponderado en vectores de probabilidad.

JW(incógnita,y)JPAG(incógnita,y)2JW(incógnita,y)1+JW(incógnita,y){\displaystyle J_{\mathcal {W}}(x,y)\leq J_{\mathcal {P}}(x,y)\leq {\frac {2J_{\mathcal {W}}(x,y)}{1+J_{\mathcal {W}}(x,y)}}}

Aquí el límite superior es el coeficiente de Sørensen-Dice (ponderado) . La distancia correspondiente,1JPAG(incógnita,y){\displaystyle 1-J_{\mathcal {P}}(x,y)}, es una métrica sobre distribuciones de probabilidad y una pseudométrica sobre vectores no negativos.

El índice de probabilidad de Jaccard tiene una interpretación geométrica como el área de una intersección de símplices . Cada punto en una unidadk{\displaystyle k}-símplex corresponde a una distribución de probabilidad enk+1{\displaystyle k+1}elementos, porque la unidadk{\displaystyle k}-símplex es el conjunto de puntos enk+1{\displaystyle k+1}Dimensiones que suman 1. Para derivar geométricamente el Índice de Jaccard de Probabilidad, represente una distribución de probabilidad como el símplice unitario dividido en subsímplices según la masa de cada elemento. Si superpone dos distribuciones representadas de esta manera y cruza los símplices correspondientes a cada elemento, el área restante es igual al Índice de Jaccard de Probabilidad de las distribuciones.

Optimalidad del índice de probabilidad de Jaccard

Una prueba visual de la optimalidad del Índice de Jaccard de Probabilidad en tres distribuciones de elementos.

Consideremos el problema de construir variables aleatorias de tal manera que colisionen entre sí lo máximo posible. Es decir, siincógnitaincógnita{\displaystyle X\sim x}yYy{\displaystyle Y\sim y}, nos gustaría construirincógnita{\displaystyle X}yY{\displaystyle Y}para maximizarPr[incógnita=Y]{\displaystyle \Pr[X=Y]}. Si observamos solo dos distribucionesincógnita,y{\displaystyle x,y}en aislamiento, el más altoPr[incógnita=Y]{\displaystyle \Pr[X=Y]}lo que podemos lograr está dado por1TELEVISOR(incógnita,y){\displaystyle 1-{\text{TV}}(x,y)}dóndeTELEVISOR{\displaystyle {\text{TV}}}es la distancia de variación total . Sin embargo, supongamos que no solo nos interesa maximizar ese par en particular, sino que queremos maximizar la probabilidad de colisión de cualquier par arbitrario. Se podría construir un número infinito de variables aleatorias, una para cada distribución.incógnita{\displaystyle x}y buscan maximizarPr[incógnita=Y]{\displaystyle \Pr[X=Y]}para todos los paresincógnita,y{\displaystyle x,y}En un sentido bastante estricto, como se describe a continuación, el Índice de Jaccard de Probabilidad es una forma óptima de alinear estas variables aleatorias.

Para cualquier método de muestreoGRAMO{\displaystyle G}y distribuciones discretasincógnita,y{\displaystyle x,y}, siPr[GRAMO(incógnita)=GRAMO(y)]>JPAG(incógnita,y){\displaystyle \Pr[G(x)=G(y)]>J_{\mathcal {P}}(x,y)}entonces para algunosz{\displaystyle z}dóndeJPAG(incógnita,z)>JPAG(incógnita,y){\displaystyle J_{\mathcal {P}}(x,z)>J_{\mathcal {P}}(x,y)}yJPAG(y,z)>JPAG(incógnita,y){\displaystyle J_{\mathcal {P}}(y,z)>J_{\mathcal {P}}(x,y)}, cualquieraPr[GRAMO(incógnita)=GRAMO(z)]<JPAG(incógnita,z){\displaystyle \Pr[G(x)=G(z)]<J_{\mathcal {P}}(x,z)}oPr[GRAMO(y)=GRAMO(z)]<JPAG(y,z){\displaystyle \Pr[G(y)=G(z)]<J_{\mathcal {P}}(y,z)}. [ 18 ]

Es decir, ningún método de muestreo puede lograr más colisiones queJPAG{\displaystyle J_{\mathcal {P}}}en un par sin lograr menos colisiones queJPAG{\displaystyle J_{\mathcal {P}}}en otro par, donde el par reducido es más similar bajoJPAG{\displaystyle J_{\mathcal {P}}}que el par incrementado. Este teorema es válido para el índice de Jaccard de conjuntos (si se interpreta como distribuciones uniformes) y la probabilidad de Jaccard, pero no para el índice de Jaccard ponderado. (El teorema utiliza el término "método de muestreo" para describir una distribución conjunta sobre todas las distribuciones en un espacio, ya que se deriva del uso de algoritmos de minhashing ponderado que logran esto como su probabilidad de colisión).

Este teorema tiene una demostración visual sobre distribuciones de tres elementos utilizando la representación simplex.

Similitud y distancia de Tanimoto

En la literatura y en internet aparecen diversas funciones denominadas similitud de Tanimoto y distancia de Tanimoto. La mayoría son sinónimos de similitud de Jaccard y distancia de Jaccard, pero algunas presentan diferencias matemáticas. Numerosas fuentes [ 19 ] citan un informe técnico de IBM [ 5 ] como referencia fundamental.

En «Un programa informático para clasificar plantas», publicado en octubre de 1960, [ 20 ] se presenta un método de clasificación basado en un índice de similitud y una función de distancia derivada. Parece ser la fuente más autorizada para comprender el significado de los términos «similitud de Tanimoto» y «distancia de Tanimoto». El índice de similitud es equivalente a la similitud de Jaccard, pero la función de distancia no es la misma que la distancia de Jaccard.

Definiciones de similitud y distancia de Tanimoto

En dicho artículo, se proporciona un "índice de similitud" sobre mapas de bits , donde cada bit de una matriz de tamaño fijo representa la presencia o ausencia de una característica en la planta que se está modelando. El índice se define como el número de bits comunes, dividido por el número de bits activados ( es decir, distintos de cero) en cualquiera de las muestras.

Presentado en términos matemáticos, si las muestras X e Y son mapas de bits,incógnitai{\displaystyle X_{i}}es el i -ésimo bit de X , y,{\displaystyle \land ,\lor }son operadores bit a bit y , o respectivamente, entonces la relación de similitudTs{\displaystyle T_{s}}es

Ts(incógnita,Y)=i(incógnitaiYi)i(incógnitaiYi){\displaystyle T_{s}(X,Y)={\frac {\sum _{i}(X_{i}\land Y_{i})}{\sum _{i}(X_{i}\lor Y_{i})}}}

Si cada muestra se modela como un conjunto de atributos, este valor es igual al índice de Jaccard de ambos conjuntos. El índice de Jaccard no se menciona en el artículo, y parece probable que los autores lo desconocieran.

Tanimoto procede a definir una "distancia" basada en esta relación, definida para mapas de bits con similitud distinta de cero:

Td(incógnita,Y)=registro2(Ts(incógnita,Y)){\displaystyle T_{d}(X,Y)=-\log _{2}(T_{s}(X,Y))}

Este coeficiente, deliberadamente, no es una métrica de distancia. Se elige para permitir la posibilidad de que dos especímenes, que son bastante diferentes entre sí, sean ambos similares a un tercero. Es fácil construir un ejemplo que refute la propiedad de la desigualdad triangular .

Otras definiciones de distancia de Tanimoto

La distancia de Tanimoto se suele considerar sinónimo de distancia de Jaccard.1Ts{\displaystyle 1-T_{s}}Esta función es una métrica de distancia adecuada. En la práctica, la distancia de Tanimoto puede confundirse erróneamente con la distancia de Jaccard como métrica de distancia adecuada.

Si la similitud de Jaccard o Tanimoto se expresa sobre un vector de bits, entonces se puede escribir como

F(A,B)=ABA2+B2AB{\displaystyle f(A,B)={\frac {A\cdot B}{\|A\|^{2}+\|B\|^{2}-A\cdot B}}}

donde el mismo cálculo se expresa en términos de producto escalar vectorial y magnitud. Esta representación se basa en el hecho de que, para un vector de bits (donde el valor de cada dimensión es 0 o 1), entonces

AB=iAiBi=i(AiBi){\displaystyle A\cdot B=\sum _{i}A_{i}B_{i}=\sum _{i}(A_{i}\land B_{i})}

y

A2=iAi2=iAi.{\displaystyle \|A\|^{2}=\sum _{i}A_{i}^{2}=\sum _{i}A_{i}.}

Esta es una representación potencialmente confusa, porque la función expresada sobre vectores es más general, a menos que su dominio esté explícitamente restringido. Propiedades deTs{\displaystyle T_{s}}no necesariamente se extienden aF{\displaystyle f}. En particular, la función de diferencia1F{\displaystyle 1-f}no preserva la desigualdad triangular y, por lo tanto, no es una métrica de distancia propia, mientras que1Ts{\displaystyle 1-T_{s}}es.

Existe un peligro real de que la combinación de la "Distancia de Tanimoto" definida mediante esta fórmula, junto con la afirmación "La distancia de Tanimoto es una métrica de distancia adecuada", lleve a la falsa conclusión de que la función1F{\displaystyle 1-f}En realidad, se trata de una métrica de distancia sobre vectores o multiconjuntos en general, mientras que su uso en algoritmos de búsqueda de similitud o de agrupamiento puede no producir resultados correctos.

Lipkus [ 12 ] utiliza una definición de similitud de Tanimoto que es equivalente aF{\displaystyle f}y se refiere a la distancia de Tanimoto como la función1F{\displaystyle 1-f}Sin embargo, en el artículo se aclara que el contexto está restringido por el uso de un vector de ponderación (positivo).W{\displaystyle W}de tal manera que, para cualquier vector A que se esté considerando,Ai{0,Wi}.{\displaystyle A_{i}\in \{0,W_{i}\}.}En estas circunstancias, la función es una métrica de distancia propia, por lo que un conjunto de vectores regidos por dicho vector de ponderación forma un espacio métrico bajo esta función.

Mapa de calor que representa la distancia de Tanimoto entre cuatro vectores binarios.

Índice de Jaccard en matrices de confusión de clasificación binaria

En las matrices de confusión empleadas para la clasificación binaria , el índice de Jaccard se puede formular de la siguiente manera:

Índice de Jaccard=TPAGTPAG+FPAG+Fnorte{\displaystyle {\text{Jaccard index}}={\frac {TP}{TP+FP+FN}}}

donde TP son los verdaderos positivos, FP los falsos positivos y FN los falsos negativos.

La fórmula de clasificación binaria del índice de Jaccard mide la concordancia entre los resultados positivos predichos y los resultados positivos reales. Indica el grado de coincidencia entre las predicciones del modelo sobre los casos positivos verdaderos y los casos positivos reales. Un índice de Jaccard más alto indica una mayor aproximación a la predicción.

El índice de Jaccard es una métrica de solapamiento que se define con los elementos de una matriz de confusión. Los verdaderos positivos representan los casos que se predijeron como positivos y que, efectivamente, lo son, creando un solapamiento entre ambos grupos. Los falsos positivos son los casos que se predijeron como positivos pero que en realidad no lo son. De forma similar, los falsos negativos son los casos que se predijeron como negativos pero que, en realidad, son positivos. El índice de Jaccard compara los verdaderos positivos con el conjunto de información relevante.

El índice de Jaccard es útil al comparar los resultados predichos con los resultados reales. El uso de la clasificación binaria junto con el índice de Jaccard ayuda a explicar la fiabilidad de un modelo de predicción. Se utiliza en muchos campos y es común en medicina para pruebas de laboratorio. [ 21 ]

Aplicación a la informática y la teoría de grafos.

En informática, el índice de Jaccard se utiliza para medir la similitud entre vértices de un grafo comparando sus conjuntos de adyacencia. Dados dos vértices, su similitud se calcula dividiendo el tamaño de la intersección de sus vecindarios entre el tamaño de su unión. Esta medida se aplica ampliamente en la predicción de enlaces , la detección de comunidades y la clasificación de grafos, donde sirve como guía para estimar la probabilidad de que se forme una arista entre dos nodos en redes. [ 22 ]

El cálculo de la similitud de Jaccard entre dos vértices se puede expresar utilizando sus conjuntos de adyacencia, como se muestra a continuación. [ 22 ]

// Código Javascript: function jaccardSimilarity ( graph1 , graph2 ){ const numNodes1 = graph1 . length ; const numNodes2 = graph2 . length ; let similarity = 0 ; // Iterar sobre todos los pares de nodos en ambos grafos for ( let i = 0 ; i < numNodes1 ; i ++ ){ for ( let j = 0 ; j < numNodes2 ; j ++ ){ // Calcular el tamaño de la intersección y la unión de los conjuntos de vecinos const intersectionSize = intersection ( graph1 [ i ], graph2 [ j ]). length ; const unionSize = union ( graph1 [ i ], graph2 [ j ]). length ; // Calcular la similitud de Jaccard y agregarla a la similitud total += intersectionSize / unionSize ; } } // Divide la similitud total por el número de pares de nodos para obtener la similitud promedio de retorno / ( numNodes1 * numNodes2 ); }// Función auxiliar para calcular la intersección de dos matrices function intersection ( a , b ) { return a . filter ( value => b . includes ( value )); }// Función auxiliar para calcular la unión de dos matrices function union ( a , b ){ return [... new Set ([... a , ... b ])]; }

[ 22 ]

La figura anterior muestra una implementación basada en operaciones de conjuntos sobre listas de adyacencia. En la práctica, las representaciones de grafos, como las listas de adyacencia, se utilizan para mejorar la eficiencia de las operaciones de intersección y unión. Para grafos grandes, calcular la similitud entre todos los pares de vértices puede resultar computacionalmente costoso. Los programadores pueden usar aproximaciones para evitar asumir el costo total de este cálculo.

Véase también

Referencias

  1. Murphy, Allan H. (1996). "El caso Finley: un evento clave en la historia de la verificación de pronósticos" . Weather and Forecasting . 11 (1): 3. Bibcode : 1996WtFor..11....3M . doi : 10.1175/1520-0434(1996)011 < 0003:TFAASE > 2.0.CO ; 2. ISSN 1520-0434 . S2CID 54532560 .  
  2. "Glosario de verificación de pronósticos" (PDF) . noaa.gov . Consultado el 21 de mayo de 2023 .
  3. ^ Jaccard, Paul (1901). "Étude comparativo de la distribución floral en una porción de los Alpes y el Jura" . Bulletin de la Société vaudoise des sciences naturallles (en francés). 37 (142): 547-579 .
  4. Jaccard, Paul (febrero de 1912). "La distribución de la flora en la zona alpina.1". New Phytologist . 11 (2): 37– 50. Bibcode : 1912NewPh..11...37J . doi : 10.1111/j.1469-8137.1912.tb05611.x . ISSN 0028-646X . S2CID 85574559 .  
  5. 1 2 Tanimoto TT (17 de noviembre de 1958). "Una teoría matemática elemental de clasificación y predicción". Informe técnico interno de IBM . 1957 (8?).
  6. Hastie, T.; Tibshirani, R.; Friedman, J. (2009). Los elementos del aprendizaje estadístico . Springer.
  7. Manning, CD; Raghavan, P.; Schütze, H. (2008). Introducción a la recuperación de información . Cambridge University Press.
  8. 1 2 3 4 Chung NC, Miasojedow B, Startek M, Gambin A (diciembre de 2019). "Prueba de similitud de Jaccard/Tanimoto y métodos de estimación para datos de presencia-ausencia biológica" . BMC Bioinformatics . 20 (Supl. 15) 644. arXiv : 1903.11372 . doi : 10.1186/ s12859-019-3118-5 . PMC 6929325. PMID 31874610 .  
  9. Leskovec J, Rajaraman A, Ullman J (2020). Minería de conjuntos de datos masivos . Cambridge. ISBN 9781108476348.y págs.  76-77 en una versión anterior .
  10. Kaufman, L.; Rousseeuw, PJ (1990). Finding Groups in Data: An Introduction to Cluster Analysis . Wiley.
  11. Kosub S (abril de 2019). "Una nota sobre la desigualdad triangular para la distancia de Jaccard". Pattern Recognition Letters . 120 : 36–38 . arXiv : 1612.02696 . Bibcode : 2019PaReL.120...36K . doi : 10.1016/j.patrec.2018.12.007 . S2CID 564831 . 
  12. 1 2 Lipkus AH (1999). "Una demostración de la desigualdad triangular para la distancia de Tanimoto". Journal of Mathematical Chemistry . 26 ( 1– 3): 263– 265. doi : 10.1023/A:1019154432472 . S2CID 118263043 . 
  13. Levandowsky M, Winter D (1971). "Distancia entre conjuntos". Nature . 234 (5): 34– 35. Bibcode : 1971Natur.234...34L . doi : 10.1038/234034a0 . S2CID 4283015 . 
  14. Aggarwal, CC (2015). Minería de datos: El libro de texto . Springer.
  15. "El procedimiento DISTANCIA" (PDF) .{{cite web}}: CS1 mantenimiento: estado de la URL ( enlace )
  16. Sneath, PHA; Sokal, RR (1973). Taxonomía numérica . WH Freeman.
  17. "Hashing sensible a la localidad (LSH): La guía ilustrada | Pinecone" . www.pinecone.io . Consultado el 21 de abril de 2026 .
  18. 1 2 Moulton R, Jiang Y (2018). "Muestreo máximamente consistente y el índice de Jaccard de distribuciones de probabilidad". 2018 IEEE International Conference on Data Mining (ICDM) . pp. 347–356 . arXiv : 1809.04052 . doi : 10.1109/ICDM.2018.00050 . ISBN  978-1-5386-9159-5. S2CID 49746072 . 
  19. Por ejemplo , Huihuan Q, Xinyu W, Yangsheng X (2011). Sistemas de vigilancia inteligentes . Springer. pág. 161. ISBN  978-94-007-1137-2.
  20. Rogers DJ, Tanimoto TT (octubre de 1960). "Un programa informático para clasificar plantas". Science . 132 (3434): 1115–8 . Bibcode : 1960Sci...132.1115R . doi : 10.1126/science.132.3434.1115 . PMID 17790723 . 
  21. Aziz Taha, Abdel (2015). "Métricas para evaluar la segmentación de imágenes médicas 3D: análisis, selección y herramienta" . BMC Medical Imaging . 15 (29) 29: 1– 28. doi : 10.1186/s12880-015-0068- x . PMC 4533825. PMID 26263899 .  
  22. 1 2 3 Dalvi, Rohan (2023-05-08). "Similitud de Jaccard en la teoría de grafos" . Medium . Recuperado el 2026-04-21 .

Lecturas adicionales

  • Tan PN, Steinbach M, Kumar V (2005). Introducción a la minería de datos . Pearson Addison Wesley. ISBN 0-321-32136-7.
  • Apuntes de clase de Introducción a la Minería de Datos de Tan, Steinbach y Kumar
  • Detección de características en imágenes satelitales Dstl de Kaggle - Evaluación
Obtenido de " https://en.wikipedia.org/w/index.php?title=Jaccard_index&oldid=1358663855 "