如何计算R中的余弦相似度?
在本文中,我们将了解如何在 R 编程语言中计算余弦相似度。
我们可以将余弦相似度定义为内积空间的两个向量之间的相似度的度量。计算两个向量之间余弦相似度的公式为:
在哪里
- X 是第一个向量
- Y 是第二个向量
我们可以使用 cosine()函数来计算这个,因此该函数在名为 lsa 的模块中可用。所以我们必须先加载那个模块。
Syntax: cosine(X,Y)
where
- X is the first vector
- Y is the second vector
示例: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
笔记:
- 此函数不适用于数据帧,您必须将数据帧转换为矩阵才能获得结果。
- 此函数仅适用于方阵。