已知两个128维向量,向量格式为list,计算两个向量的余弦相似性

发布时间 2023-08-15 09:07:35作者: 海_纳百川

计算两个向量的余弦相似度可以使用以下公式:

余弦相似度 = (向量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维向量数据。