介绍余弦相似度与欧氏距离之间的联系与区别。
余弦相似度与欧氏距离
联系
- 余弦相似度和欧氏距离都是用于度量向量之间的相似性或距离
区别
- 余弦相似度:计算两个向量方向的相似度,忽略向量的大小
- 欧氏距离:计算两个向量之间的实际距离,考虑向量的大小
示例:
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库计算了两个向量的余弋相似度和欧氏距离。