R语言 如何计算余弦相似度
在这篇文章中,我们将看到如何在R编程语言中计算余弦相似度。
我们可以将余弦相似性定义为衡量内积空间中两个向量之间的相似性。计算两个向量之间的余弦相似性的公式是。
其中
- X是第一个矢量
- Y是第二个向量
我们可以通过使用cosine()函数来计算,因此该函数在名为lsa的模块中可用,所以我们必须先加载该模块。
语法: 余弦(X,Y)
其中
- X是第一个矢量
- Y是第二个向量
例1 :计算两个向量之间余弦相似度的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))
输出 。
[,1]
[1,] 0.5468596
例2:计算矩阵中余弦相似度的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
注意 。
- 这个函数对数据帧不起作用,你必须将数据帧转换成矩阵才能得到结果。
- 这个函数只对方形矩阵起作用。