如何在Python中计算余弦相似度
在这篇文章中,我们计算两个非零向量之间的余弦相似度。向量是一个单一的二维信号NumPy数组。余弦相似度是一种相似度的测量方法,通常用于测量文本分析中的文档相似度。我们使用下面的公式来计算余弦相似度。
其中A和B是矢量。
- A.B是A和B的点积:它被计算为A和B的元素相乘之和。
- ||A||是A的L2准则。它被计算为向量A的元素的平方之和的平方根。
示例 1:
在下面的例子中,我们计算两个向量(1-d NumPy数组)之间的余弦相似度。要在这里定义一个向量,我们也可以使用Python列表。
输出:
示例 2:
在下面的例子中,我们计算了一批三个向量(二维NumPy数组)和一个向量(一维NumPy数组)之间的余弦相似度。
输出:
注意,A有三个向量,B是一个向量。在上面的输出中,我们在余弦相似度数组中得到三个元素。第一个元素对应于A的第一个向量(第一行)和第二个向量(B)之间的余弦相似性。第二个元素对应于A的第二个向量(第二行)和第二个向量(B)之间的余弦相似性。同样,第三个元素也是如此。
示例 3:
在下面的例子中,我们计算两个2维数组之间的余弦相似度。这里每个数组有三个向量。在这里,我们用元素相乘的m来计算点积。
输出:
余弦相似度数组的第一个元素是A和B的第一行之间的相似度,同样第二个元素是A和B的第二行之间的余弦相似度,第三个元素也是如此。