Slop One算法-Collaborative Filtering

3 篇文章 0 订阅
一般情况下, 实施Collaborative Filtering的过程是:
1. 你有一大群的用户.
2. 你用一大堆的东西.
3. 一些用户很热心的告诉你, 他们对这些东西的看法.
4. 你想给他们更多他们可能喜欢的东西.


Slope One是一种rating based的预测算法.
Slope One 算法是由 Daniel Lemire 教授在 2005 年提出. 是一种简单的C.F.的算法, 但是确解决了若干个难以解决的问题. 比如 cold start.

概念简单, 看下面的表:

UserRating to Item 1Rating to Item 2
X53
Y43
Z4?


用户X, Y分别对item 1, 2评分, 以及Z1, 如何预测Z2?
第一个想法就是, 当然根据三个用户已经评分过的平均差异, 推测出来:
差异是:  ((5-3) + (4-3))/2=1.5

那, 这样, Z3, 可能是 4-1.5= 2.5

有了这个预测, 我们可以向Z用户推荐一些ta可能评分比较高的内容.

这样准确嘛? 不准确.

所以会有加权, 双级的算法.

请参看 : http://www.daniel-lemire.com/fr/abstracts/SDM2005.html


最后带上一个python的实现:

http://www.serpentine.com/wordpress/wp-content/uploads/2006/12/slope_one.py.txt


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值