?
余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。θ度角的余弦值是1,而其他任何角度的余弦值都不大于1,并且其最小值是-1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。这结果是与向量的长度无关的,仅仅与向量的指向方向相关。余弦相似度通常用于正空间,因此给出的值为-1到1之间。
?
计算公式
?
在用余弦相似度计算两个向量时,需要保持两个向量之间的向量个数相同;
计算值越大相似度越高;
?
代码1
def cos(x:Array[Double],y:Array[Double]):Double={ |
?
代码2
def cos(x: DenseVector[Double], y: DenseVector[Double])={ |
?