推荐算法集合
之前写过一个楼盘的推荐算法,感觉设计还是还蛮不错的,但是有一个缺点就是可以作为的参考的参数,太少,在前面的推荐算法中,只有一个userid和projectid的两个维度的。不是很合理,现在我希望添加更多的参考属性。
推荐算法大致基类
- 基于流行度的算法
- 协同过滤算法
- 基于内容的算法
- 基于模型的算法
- 混合算法
基于流行度的算法
基于流行度的算法非常简单粗暴,类似于各大新闻、微博热榜
协同过滤算法
collaborative filtering 是一个很常用的一种算法,CF算法包括基于用户的CF和基于物品的CF。
基于用户的CF原理如下
- 分析各个用户对item的评价(通过浏览记录、购买记录等)
- 依据用户对item的评价计算得出所有用户之间的相似度
- 选出与当前用户最相似的n个用户
- 将这N个用户评价最高并且当前用户又没有浏览过的item推荐给当前用户
基于物品的CF原理
- 分析各个用户对item的浏览记录
- 依据浏览记录分析得出所有item之间的相似度
- 对于当前用户评价高的item,找出与之相似度最高的N个item
- 将这N个item推荐给用户
Similary
Cosine Similary cos=a/c cos=a^2+b^2-c^2/2ab
cos=a*b/||a||*||b||聚一个例子,来说明余弦计算文本相