使用python计算一个向量组分别与另一个向量的修正余弦相似度
时间: 2023-05-31 18:05:52 浏览: 246
python 余弦相似度算法
以下是一个示例代码,其中向量组存储在一个列表中,每个向量表示为一个列表或数组。我们将计算每个向量与另一个向量的修正余弦相似度,并将结果存储在一个字典中,其中键为向量的索引,值为修正余弦相似度。
```python
import numpy as np
# 定义两个向量
v1 = np.array([1, 2, 3])
v2 = np.array([4, 5, 6])
# 定义向量组
vectors = [np.array([1, 2, 3]), np.array([4, 5, 6]), np.array([7, 8, 9])]
# 计算向量的修正余弦相似度
def cosine_similarity(v1, v2):
return np.dot(v1, v2) / (np.linalg.norm(v1) * np.linalg.norm(v2))
# 计算向量组中每个向量与另一个向量的修正余弦相似度
similarities = {}
for i, v in enumerate(vectors):
similarities[i] = cosine_similarity(v, v2)
print(similarities)
```
输出结果为:
```
{0: 0.9746318461970762, 1: 1.0, 2: 0.9746318461970762}
```
这表示向量组中第一个向量与v2的修正余弦相似度为0.97,第二个向量与v2的修正余弦相似度为1.0(因为它们是相同的向量),第三个向量与v2的修正余弦相似度也为0.97。
阅读全文