一.相似度度量方法
1.欧几里得距离(euclidean)
对于两个n维向量A,B,
2.皮尔逊相关度
皮尔逊相关度其实是协方差和标准差的商,即对于两个n维向量A,B,
所以:
皮尔逊相关度的取值范围是[-1,1],是两个样本集向量夹角的cosine值
3.jaccard相似度和广义jaccard相似度
对集合A和B,Jaccard相似度计算如下:
Jaccard(A, B)= |A intersect B| / |A union B|
相似度数值在[0, 1]之间,当A==B的时候,为1.
元素的取值只能是0或者1
广义jaccard相似度,即Tanimoto系数,用EJ来表示。
EJ(A,B)=(A*B)/(||A||^2+||B||^2-A*B)
4.曼哈顿距离
平面上坐标(x1, y1)的i点与坐标(x2, y2)的j点的曼哈顿距离为
d(i,j)=|X1-X2|+|Y1-Y2|
二 两种推荐思路
1.基于用户的协同过滤(user_based collaborative filtering)
用户之间的相似度:通过用户对共同商品的评价计算
通过其他用户与要推荐用户的相似度对物品计算加权分值,排序之后推荐物品。
更易于实现,适用于数据规模较小且变化比较频繁的数据集
2.基于物品的协同过滤(item_based collaborative filtering)
物品相似度:通过购买商品的共同用户对它的评价来计算
通过物品的相似度对要推荐的用户对物品的打分进行预估计算,排序之后推荐商品。
适用于稀疏矩阵
转载于:https://www.cnblogs.com/talisa/p/6078437.html