📜  如何计算R中的余弦相似度?

📅  最后修改于: 2022-05-13 01:54:53.034000             🧑  作者: Mango

如何计算R中的余弦相似度?

在本文中,我们将了解如何在 R 编程语言中计算余弦相似度。

我们可以将余弦相似度定义为内积空间的两个向量之间的相似度的度量。计算两个向量之间余弦相似度的公式为:

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

在哪里

  • X 是第一个向量
  • Y 是第二个向量

我们可以使用 cosine()函数来计算这个,因此该函数在名为 lsa 的模块中可用。所以我们必须先加载那个模块。

示例:R 程序计算两个向量之间的余弦相似度

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))


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))


输出:

[,1]
[1,] 0.5468596

示例 2:计算矩阵中余弦相似度的 R 程序

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))

输出:

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

笔记:

  • 此函数不适用于数据帧,您必须将数据帧转换为矩阵才能获得结果。
  • 此函数仅适用于方阵。