¿Cómo calcular la similitud del coseno en R?

En este artículo vamos a ver cómo calcular la similitud del coseno en el lenguaje de programación R.

Podemos definir la similitud del coseno como la medida de la similitud entre dos vectores de un espacio de producto interno. La fórmula para calcular la similitud de coseno entre dos vectores es:

ΣXiYi / (√ΣXi^2√ΣYi^2)

dónde

  • X es el primer vector
  • Y es el segundo vector

Podemos calcular esto usando la función coseno(). Por lo tanto, la función está disponible en el módulo llamado lsa. entonces tenemos que cargar ese módulo primero.

Sintaxis: coseno (X, Y)

dónde

  1. X es el primer vector
  2. Y es el segundo vector

Ejemplo : programa R para calcular la similitud del coseno entre dos vectores

R

# load lsa module
library(lsa)
  
# create vector1
vector1 = c(34,56,23,45,21,64,78,90)
  
# create vector2
vector2 = c(14,36,73,85,20,9,8,11)
  
# get cosine similarity
print(cosine(vector1, vector2))

Producción:

[,1]
[1,] 0.5468596

Ejemplo 2: programa R para calcular la similitud del coseno en una array

R

# load lsa module
library(lsa)
  
# create vector1
vector1 = c(34, 56, 23, 45, 21, 64, 78, 90)
  
# create vector2
vector2 = c(14, 36, 73, 85, 20, 9, 8, 11)
  
# create vector3
vector3 = c(14, 36, 73, 85, 20, 9, 8, 11)
  
# create a matrix using cbind() function
final = cbind(vector1, vector2, vector3)
  
# get cosine similarity in a matrix
print(cosine(final))

Producción:

          vector1   vector2   vector3
vector1 1.0000000 0.5468596 0.5468596
vector2 0.5468596 1.0000000 1.0000000
vector3 0.5468596 1.0000000 1.0000000

Nota:

  • Esta función no funcionará en marcos de datos. Debe convertir el marco de datos en la array para obtener el resultado.
  • Esta función funcionará solo en arrays cuadradas.

Publicación traducida automáticamente

Artículo escrito por sireeshakanneganti112 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *