En este artículo, calculamos la similitud del coseno entre los dos vectores distintos de cero. Un vector es una array NumPy de señal unidimensional de una sola moneda de diez centavos . La similitud del coseno es una medida de similitud, a menudo utilizada para medir la similitud del documento en el análisis de texto. Usamos la siguiente fórmula para calcular la similitud del coseno.
Similarity = (A.B) / (||A||.||B||)
donde A y B son vectores:
- AB es el producto escalar de A y B: se calcula como la suma del producto elemento-sabio de A y B.
- ||A|| es la norma L2 de A: Se calcula como la raíz cuadrada de la suma de los cuadrados de los elementos del vector A.
Ejemplo 1:
En el siguiente ejemplo, calculamos la similitud del coseno entre los dos vectores (arrays 1-d NumPy). Para definir un vector aquí también podemos usar las Listas de Python.
Python
# import required libraries import numpy as np from numpy.linalg import norm # define two lists or array A = np.array([2,1,2,3,2,9]) B = np.array([3,4,2,4,5,5]) print("A:", A) print("B:", B) # compute cosine similarity cosine = np.dot(A,B)/(norm(A)*norm(B)) print("Cosine Similarity:", cosine)
Producción:
Ejemplo 2:
En el siguiente ejemplo, calculamos la similitud del coseno entre un lote de tres vectores (array 2D NumPy) y un vector (array 1-D NumPy).
Python
# import required libraries import numpy as np from numpy.linalg import norm # define two lists or array A = np.array([[2,1,2],[3,2,9], [-1,2,-3]]) B = np.array([3,4,2]) print("A:\n", A) print("B:\n", B) # compute cosine similarity cosine = np.dot(A,B)/(norm(A, axis=1)*norm(B)) print("Cosine Similarity:\n", cosine)
Producción:
Observe que A tiene tres vectores y B es un solo vector. En el resultado anterior, obtenemos tres elementos en la array de similitud de coseno. El primer elemento corresponde a la similitud de coseno entre el primer vector (primera fila) de A y el segundo vector (B). El segundo elemento corresponde a la similitud de coseno entre el segundo vector (segunda fila) de A y el segundo vector (B). Y lo mismo para el tercer elemento.
Ejemplo 3:
En el siguiente ejemplo, calculamos la similitud del coseno entre las dos arrays bidimensionales. Aquí cada array tiene tres vectores. Aquí para calcular el producto escalar usando la m del producto por elementos.
Python
# import required libraries import numpy as np from numpy.linalg import norm # define two arrays A = np.array([[1,2,2], [3,2,2], [-2,1,-3]]) B = np.array([[4,2,4], [2,-2,5], [3,4,-4]]) print("A:\n", A) print("B:\n", B) # compute cosine similarity cosine = np.sum(A*B, axis=1)/(norm(A, axis=1)*norm(B, axis=1)) print("Cosine Similarity:\n", cosine) print("Cosine Similarity:\n", cosine)
Producción:
El primer elemento de la array de similitud de coseno es una similitud entre las primeras filas de A y B. De manera similar, el segundo elemento es la similitud de coseno entre las segundas filas de A y B. De manera similar para el tercer elemento.
Publicación traducida automáticamente
Artículo escrito por shahidedu7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA