如何计算r中的余弦相似度


余弦相似度是内积空间的两个向量之间相似度的度量。

对于两个向量 A 和 B,余弦相似度计算如下:

余弦相似度= ΣA i B i / (√ΣA i 2 √ΣB i 2 )

本教程介绍如何使用lsa库中的cosine()函数计算 R 中向量之间的余弦相似度。

R中两个向量之间的余弦相似度

下面的代码展示了如何在R中计算两个向量之间的余弦相似度:

 library (lsa)

#definevectors
a <- c(23, 34, 44, 45, 42, 27, 33, 34)
b <- c(17, 18, 22, 26, 26, 29, 31, 30)

#calculate Cosine Similarity
cosine(a, b)

         [,1]
[1,] 0.965195

两个向量之间的余弦相似度为0.965195

R 中矩阵的余弦相似度

下面的代码展示了如何计算向量矩阵之间的余弦相似度:

 library (lsa)

#define matrix
a <- c(23, 34, 44, 45, 42, 27, 33, 34)
b <- c(17, 18, 22, 26, 26, 29, 31, 30)
c <- c(34, 35, 35, 36, 51, 29, 30, 31)

data <- cbind(a, b, c)

#calculate Cosine Similarity
cosine(data)

          ABC
a 1.0000000 0.9651950 0.9812406
b 0.9651950 1.0000000 0.9573478
c 0.9812406 0.9573478 1.0000000

以下是如何解释结果:

  • 向量ab之间的余弦相似度为0.9651950
  • 向量ac之间的余弦相似度为0.9812406
  • 向量bc之间的余弦相似度为0.9573478

评论

1. cosine()函数适用于任何大小的方阵。

2. cosine()函数适用于矩阵,但不适用于数据框。但是,您可以使用as.matrix()函数轻松将数据帧转换为 R 中的矩阵。

3.请参阅此维基百科页面以了解有关余弦相似度的更多信息。

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注