Contenido de este artículo
- 0
- 0
- 0
- 0
La similitud de coseno es una medida de la similitud entre dos vectores de un espacio de producto interno.
Para dos vectores, A y B, la similitud del coseno se calcula como:
Similitud de coseno = ΣA i B i / (√ΣA i 2 √ΣB i 2 )
Este tutorial explica cómo calcular la similitud de coseno entre vectores en Python usando funciones de la biblioteca NumPy .
Similitud de coseno entre dos vectores en Python
El siguiente código muestra cómo calcular la similitud de coseno entre dos matrices en Python:
de numpy import dot de numpy. norma de importación de linalg #define arrays a = [23, 34, 44, 45, 42, 27, 33, 34] b = [17, 18, 22, 26, 26, 29, 31, 30] #calcular la similitud del coseno cos_sim = punto (a, b) / ( norma (a) * norma (b)) cos_sim 0,965195008357566
La similitud de coseno entre las dos matrices resulta ser 0,965195 .
Tenga en cuenta que este método funcionará en dos matrices de cualquier longitud:
importar numpy como np de numpy import dot de numpy. norma de importación de linalg # definir matrices a = np.random.randint (10, tamaño = 100 ) b = np.random.randint (10, tamaño = 100 ) #calcular la similitud del coseno cos_sim = punto (a, b) / ( norma (a) * norma (b)) cos_sim 0,7340201613960431
Sin embargo, solo funciona si las dos matrices tienen la misma longitud:
importar numpy como np de numpy import dot de numpy. norma de importación de linalg #define arrays a = np.random.randint (10, size = 90 ) # length = 90 b = np.random.randint (10, size = 100 ) # length = 100 #calcular la similitud del coseno cos_sim = punto (a, b) / ( norma (a) * norma (b)) cos_sim ValueError : formas (90,) y (100,) no alineadas: 90 (dim 0)! = 100 (dim 0)
Notas
1. Hay varias formas de calcular la similitud de coseno usando Python, pero como explica este hilo de Stack Overflow , el método explicado en esta publicación resulta ser el más rápido.
2. Consulte esta página de Wikipedia para obtener más detalles sobre la similitud de coseno.
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: