计算两个向量的余弦相似度可以使用以下公式:
余弦相似度 = (向量A · 向量B) / (||向量A|| * ||向量B||)
其中,向量A · 向量B 表示向量A和向量B的点积(内积),||向量A|| 和 ||向量B|| 表示向量A和向量B的欧几里德范数(模)。
下面是一个示例代码,展示如何计算两个128维向量的余弦相似度:
import numpy as np
# 假设你有两个128维向量
vector_a = [0.1, 0.2, ..., 0.5] # 替换为实际的向量数值
vector_b = [0.3, 0.5, ..., 0.7] # 替换为实际的向量数值
# 将向量转换为NumPy数组
array_a = np.array(vector_a)
array_b = np.array(vector_b)
# 计算余弦相似度
dot_product = np.dot(array_a, array_b)
norm_a = np.linalg.norm(array_a)
norm_b = np.linalg.norm(array_b)
cosine_similarity = dot_product / (norm_a * norm_b)
print("余弦相似度:", cosine_similarity)
在这个示例中,我们首先将向量转换为NumPy数组,然后使用NumPy提供的函数计算点积和欧几里德范数,最后计算余弦相似度。请确保将 vector_a
和 vector_b
替换为实际的128维向量数据。