如何计算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
以下是如何解释结果:
- 向量a和b之间的余弦相似度为0.9651950 。
- 向量a和c之间的余弦相似度为0.9812406 。
- 向量b和c之间的余弦相似度为0.9573478 。
评论
1. cosine()函数适用于任何大小的方阵。
2. cosine()函数适用于矩阵,但不适用于数据框。但是,您可以使用as.matrix()函数轻松将数据帧转换为 R 中的矩阵。
3.请参阅此维基百科页面以了解有关余弦相似度的更多信息。