网站代理做反向,长沙网业公司,网页制作软件dw,文明seo1.余弦相似度同过两个向量的夹角的余弦值来判断两个向量的相似度。余弦值取值[-1,1],越接近1#xff0c;两向量夹角越小#xff0c;越相似。图片.png二维公式#xff1a;图片.pngn维公式#xff1a;图片.png存在的问题[1]#xff1a;余弦相似度更多的是从方向上区分差异两向量夹角越小越相似。图片.png二维公式图片.pngn维公式图片.png存在的问题[1]余弦相似度更多的是从方向上区分差异而对绝对的数值不敏感。比如用户对内容评分5分制。A和B两个用户对两个商品的评分分别为A(1,2)和B(4,5)。我们分别用两种方法计算相似度。使用余弦相似度得出的结果是0.98看起来两者极为相似但从评分上看X似乎不喜欢这两个东西而Y比较喜欢。造成这个现象的原因就在于余弦相似度没法衡量每个维数值的差异对数值的不敏感导致了结果的误差。需要修正这种不合理性就出现了调整余弦相似度即所有维度上的数值都减去一个均值。比如A和B对两部电影评分的均值分别是(14)/22.5,(25)/23.5。那么调整后为A和B的评分分别是(-1.5,-1.5)和(1.5,2.5)再用余弦相似度计算得到-0.98相似度为负值显然更加符合现实。修正的余弦相似度可以说就是对余弦相似度进行归一化处理的算法公式如下图片.png2.欧几里得距离通过两个点(向量)的欧式空间距离来判断相似度图片.png标准化欧式距离公式图片.pngpython实现余弦相似度使用scipy.spatial.distance.cosine(uv)需要注意的是这里公式有所变动图片.png这样取值就在[0,2]。欧式距离scipy.spatial.distance.euclidean(uv)