手写余弦相似度
手写余弦相似度
import numpy as np
def cosine(a, b):
a, b = np.asarray(a), np.asarray(b)
return float(a @ b / (np.linalg.norm(a) * np.linalg.norm(b)))
print(round(cosine([0.3, 0.4, 0.5], [0.1, 0.9, 0.2]), 4))向量已归一化时,余弦相似度等于内积,可直接用点积实现,省一次除法。