Similitud de coseno Scipy

Similitud de coseno Scipy

El cálculo estadístico y matemático en Python se ha vuelto muy fácil y simple debido a la biblioteca Scipy. Nos proporciona tantas funciones útiles para ser utilizadas para el cálculo matemático y estadístico. Cualquier función se puede realizar automáticamente con las funciones y métodos proporcionados en la biblioteca SciPy, comenzando desde calcular sumas simples hasta desviaciones estándar complicadas. Diseñamos este artículo para explicar cómo obtener la similitud de coseno en un programa de Python. Nuestro objetivo es explicar la función coseno de la biblioteca Scipy en esta guía.

¿Qué es la similitud de coseno??

En general, la similitud de coseno es la medida de la similitud entre dos conjuntos de datos. Del mismo modo, la similitud de coseno en el análisis de datos es la medida de similitud entre dos secuencias de datos dadas. Aquí, la secuencia de datos se considera un vector. Para calcular la similitud de coseno, tenemos la siguiente fórmula:

Ahora, aprendamos cómo calcular la similitud de coseno entre dos vectores usando esta fórmula en un programa de Python. Explicaremos cómo usar la misma fórmula en un programa de Python con la ayuda de un ejemplo. Luego, avanzaremos para usar la función coseno que realiza automáticamente todos los cálculos de la fórmula en el backend.

Ejemplo 1:

Primero, debemos entender cómo se calcula la similitud de coseno para que sepamos exactamente cómo funciona la función coseno de la biblioteca Scipy. Considere el siguiente ejemplo de muestra para comprender cómo calcular la fórmula de similitud de coseno en un programa de Python. Consulte el siguiente código de muestra:

importar numpy como np
De Numpy.Norma de importación de linalg
vector1 = np.Array ([2, 1, 2, 1, 2, 1])
vector2 = np.Array ([4, 5, 3, 2, 6, 7])
pro = np.Dot (Vector1, Vector2)
normal = (norma (vector1)*norma (vector2))
cosim = pro/normal
Imprimir ("Cosine Simility:", Cosim)

Primero, necesitamos importar todas las bibliotecas requeridas para usar las funciones asociadas con ellas. Entonces, la biblioteca Numpy se importa como NP en el programa. El numpy.El paquete Linalg también se importa para usar la función de norma. Se declaran que las dos matrices encuentran la similitud coseno entre ellos. El producto de ambas matrices se toma utilizando la función dot (). Para encontrar la norma de la matriz creada, la función norma () se pone a funcionar.

Calcular la raíz cuadrada de la suma de cuadrados de los datos proporcionados produce la norma. Se toman el producto de las normas de ambas matrices. Entonces, el producto de la matriz se divide por él. Dado que sabemos que la fórmula para encontrar la similitud de coseno es cos (x, y) = (x * y) / (|| x || * || y ||), lo mismo se calcula con las funciones integradas de Python. Ahora, veamos la similitud de coseno calculado en la siguiente ilustración:

Ahora que entendimos cómo calcular manualmente la similitud de coseno tanto por las funciones de fórmula como de Python, aprendamos y comprendamos cómo calcular la similitud cosena utilizando automáticamente la función coseno incorporada de la biblioteca Scipy. Vea la siguiente sintaxis de la función coseno:

La función coseno toma dos matrices de entrada que solían encontrar la similitud de coseno y una matriz opcional de pesos en la que los pesos cada valor en las 2 matrices de entrada. La matriz de peso es opcional y su valor predeterminado es ninguno. Esto da como resultado dar 1 peso a cada valor en las matrices de entrada. La función coseno devuelve la similitud coseno entre las dos matrices de entrada o vectores dados. Ahora, comprendamos todo esto con la ayuda de ejemplos.

Ejemplo 2:

En este ejemplo, utilizaremos la función coseno de la biblioteca Scipy para calcular la similitud de coseno entre los datos dados automáticamente. Veamos cómo usar la función en un programa de Python. Considere el siguiente código de muestra:

importar numpy como np
De Scipy.distancia de importación espacial
vector1 = np.Array ([2, 1, 2, 1, 2, 1])
vector2 = np.Array ([4, 5, 3, 2, 6, 7])
cosim = distancia.coseno (vector1, vector2)
Imprimir ("Cosine Simility:", Cosim)

Dos bibliotecas se importan al programa, Numpy y Scipy. La variable NP representa la biblioteca Numpy en todo el programa y la biblioteca Scipy se importa para llamar al paquete espacial y su método de distancia al programa mientras utilizamos la función coseno en nuestro programa. La clase de distancia proporciona la función coseno, por lo que necesitamos llamar a la función coseno desde la clase de distancia. Se utilizan los mismos datos de entrada que en el primer ejemplo. Ambas matrices se pasan a la función coseno y se muestran en la pantalla utilizando el comando de impresión. Ahora, veamos la siguiente salida:

Ejemplo 3:

Ahora, proporcionemos algunos datos complejos para la función coseno. Como hemos visto, la función coseno calcula perfectamente la similitud del coseno rápidamente. Probemos la función con datos grandes y complejos. Primero, solo usamos una matriz normal. Proporcionemos las matrices multidimensionales en este ejemplo para que podamos entender mejor el funcionamiento de la función coseno. Considere el siguiente código de muestra:

importar numpy como np
De Scipy.distancia de importación espacial
vector1 = np.Array ([[2, 1, 2], [1, 2, 1], [3, 3, 3]])
vector2 = np.Array ([[4, 5, 3], [2, 6, 7], [9, 7, 8]])
cosim = distancia.coseno (vector1, vector2)
Imprimir ("Cosine Simility:", Cosim)

Aquí, puede ver que proporcionamos las matrices multidimensionales y pasamos esas matrices a la función coseno. Ahora, veamos qué resultado produce la función coseno. Ver el siguiente resultado:

Como puede ver, el compilador elevó el ValueError que indica que los datos de entrada deben ser 1-D. Dado que hemos dado los datos de matriz multidimensional, la función coseno rechazó los datos de entrada, ya que no calcula la similitud de coseno en matrices multidimensionales. Solo se necesita una matriz de entrada unidimensional. Entonces, para evitar la excepción de ValueError, debemos asegurarnos de que los datos de entrada deben estar en forma 1-D.

Conclusión

Tuvimos una visión general rápida de la función de similitud de coseno Scipy. Primero, aprendimos qué es la similitud de coseno y entendimos la fórmula para calcular la similitud de coseno demostrando un ejemplo. Después de eso, aprendimos qué es la similitud de coseno Scipy y exploramos algunos ejemplos para aprender cómo las funciones coseno de la biblioteca Scipy calculan automáticamente la similitud de coseno entre los datos dados. También aprendimos que la función coseno solo toma datos 1-D como entrada. En el caso de matrices multidimensionales, lanza una excepción de ValueError.