基本原理
什么叫协同过滤?
不同的用户与商品之间会存在一些协同相关性,我们可以通过计算它们之间的相关性得出相关性最大的一个或多个商品用于推荐给相关用户。
两种推荐方式:
方式一:
基于用户行为来推荐
行为:点赞、收藏、下单、加入购物车等行为
通过对用户作用在商品上的不同行为赋予不同的权重,推荐用户之间相关性最高的商品。
例如:A用户点赞了 1、2、3、4商品 ,B用户点赞了2、3、4、5、6商品,C用户点赞了5、6、7商品,那么当B在下一次登陆时系统会认为A用户与B用户之间存在的相关性大,就会向B用户推荐A用户点赞过的商品(除A、B都点赞过的商品!!!如:1商品!!!)-------即 A用户点赞而B用户没有点赞,但它们之间平时同时点赞的同一个商品最多。而不会推荐C用户点赞过的商品给B用户。
方式二:
基于商品特征来推荐
特征:口味、颜色、地域、大小等待
通过用户对某个商品产生过某种行为,系统会更具这个商品具有的特征找出与这个商品特征最接近的其他商品推荐给用户。
例如:商品A 白色的碎花裙子, 受众人群是 18----25岁,适用于冬季,宽松、便宜
商品B 白色的碎花裙子, 受众人群是 30----45岁,适用于夏季,宽松、贵
商品C 白色的碎花裙子, 受众人群是 20----40岁,适用于夏季,宽松、性价比高
如果用户1 给商品B点赞了 ,那么系统就会去其他商品中找与商品B相关性系数最大的商品,在这个例子中,显然系统会向用户推荐商品C,因为这个例子中显然商品C与商品B商品基于特征相关性更高。
如何计算?
相关性系数有很多计算方式,-------可以通过皮尔逊相关系数进行计算
算法只是工具,不同的算法都会有一个固定的数据结构, 可以将它当作一个黑盒子,或者一个开关,它只有一个入口,一个出口,不用拆开看!!!很多人只需要知道怎么用,只需要在算法的入口给它正确的数据,它就能计算出我们想要的结果。
业务代码!!!
核心代码!!!
截取代码片段,详细请私信获取!!!!