












余弦相似度
余弦相似度,就是把两个东西看成向量,计算它们夹角的余弦值,用来衡量两个对象的相似程度。
两个向量方向越一致,夹角越小,余弦值越接近 1,相似度越高;
方向越相反,夹角越大,余弦值越小。
公式(二维):
cosθ=x12+y12⋅x22+y22x1x2+y1y2
向量 A = (1, 2)
向量 B = (2, 4)
计算:
说明:A 和 B 方向完全一致,完全相似。
假设用关键词频率表示文章:
算出来相似度 ≈ 0.98,非常接近 1 → 两篇文章高度相似。
A=(1,0),B=(-1,0)
相似度 = -1 → 完全相反。
python实现余弦相似度:import math def cosine_similarity(vec1, vec2): # 计算点积 dot_product = sum(a * b for a, b in zip(vec1, vec2)) # 计算两个向量的模长 norm1 = math.sqrt(sum(a ** 2 for a in vec1)) norm2 = math.sqrt(sum(b ** 2 for b in vec2)) if norm1 == 0 or norm2 == 0: return 0.0 return dot_product / (norm1 * norm2)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。