介绍余弦相似度与欧氏距离之间的联系与区别。

余弦相似度与欧氏距离

联系

  • 余弦相似度和欧氏距离都是用于度量向量之间的相似性或距离

区别

  • 余弦相似度:计算两个向量方向的相似度,忽略向量的大小
  • 欧氏距离:计算两个向量之间的实际距离,考虑向量的大小

示例:

import numpy as np

# 余弦相似度
def cosine_similarity(a, b):
    dot_product = np.dot(a, b)
    norm_a = np.linalg.norm(a)
    norm_b = np.linalg.norm(b)
    similarity = dot_product / (norm_a * norm_b)
    return similarity

# 欧氏距离
def euclidean_distance(a, b):
    distance = np.linalg.norm(a - b)
    return distance

vec1 = np.array([1, 2, 3])
vec2 = np.array([4, 5, 6])

print(cosine_similarity(vec1, vec2))
print(euclidean_distance(vec1, vec2))

以上示例中,我们使用numpy库计算了两个向量的余弋相似度和欧氏距离。