首先给用户行为定义相应的权重积分
算法思路:给用户推荐那些和他们之前喜欢的物品相似的物品
实例如下:
算法步骤:
用户对于商品的权重分数,为用户对商品操作的分数相加。
余弦相似度计算计算逻辑,以物品1和物品2为例:
根据用户对第一、二商品的操作分数,可以算出两个商品在这三个用户心目中的相似度,用户标本更多则更精准
1.0×2+0.36×10+0.93×0+0.99×3+0×0+0.26×5=9.87 约等于9.9 为 用户A对商品1的综合兴趣度
可理解为以商品1为基准,1.0×2的意思就是商品1在用户心目中的地位,0.36×10的意思就是商品2对于1的相似度为0.36,但是用户对于商品2的渴望度比较高为10,从用户对商品2的渴望度和1、2的相似度得出,相较于商品2用户对于商品1的渴望度为0.36*10,其他商品同理。
0.36×2+1×10+0×0+0.49×3+0.29×0+0.88×5=16.59 约等于16.6 用户A对商品2的综合兴趣度
计算得:得出商品对于用户的推荐系数
对比评分矩阵,对于已经推荐过的物品如果要去除推荐
去除推荐就是置为0,并且选出评分最高的物品就是用户最应该推荐的一个物品了
例如通过评分矩阵发现A用户对商品1,2,4,6操作过,就不再推荐商品1,2,4,6,用户对商品3和5没有操作过,5的系数比较高,则推荐5给用户
总结:
1.该算法最适用于同一类型的物品,在一类商品下,例如球鞋,如果安踏、耐克、阿迪和惠普、联想一起进行相似度和推荐系数计算,是不准确的,如果是在首页推荐也可使用。
2.算法也建立在对商品有需求的用户上,对该类商品有兴趣(有过操作),比如商品安踏、李宁、耐克对于学生和工作党的推荐,对于没有球鞋需求的老年人用户,不适用。