推荐算法Slope One初探

Slope One 算法是由 Daniel Lemire 教授在 2005 年提出的一个 Item-Based 推荐算法。 Slope One 算法试图同时满足这样的的 5 个目标: 

  1. 易于实现和维护:普通工程师可以轻松解释所有的聚合数据,并且算法易于实现和测试。 
  2. 运行时可更新的:新增一个评分项,应该对预测结果即时产生影响。 
  3. 高效率的查询响应:快速的执行查询,可能需要付出更多的空间占用作为代价。 
  4. 对初次访问者要求少:对于一个评分项目很少的用户,也应该可以获得有效的推荐。 
  5. 合理的准确性:与最准确的方法相比,此方法应该是有竞争力的,准确性方面的微小增长不能以简单性和扩展性的大量牺牲为代价。

使用这个图可以简明扼要的说明一下 Slope One 算法。 

  1. User A 给 Item I 打分为 1;给 Item J 打分为 1.5。 
  2. Uesr B 给 Item I 打分为 2。 
  3. 问题是:User B 给 Item J 打分为多少? 
  4. 使用 Slope One 算法,答案是:2.5,2+(1.5-1)=2.5。 

Slope One 算法就是这么简单,详细的试验分析可以看这里“Slope One Predictors for Online Rating-Based Collaborative Filtering”。

微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

开源地理位置数据库:tile38

Tile38是地理定位数据存储,空间索引和实时地理围栏。它支持多种对象类型,包括纬度/经度点,边界框,XYZ平

Redis存储经纬度数据并进行地理操作

Redis 从3.2.0版本开始提供了对地理位置的支持,reids 的地理位置坐标使用 sorted set存

使用Python检测符号及乱码字符

最近在进行关键词的分析,中间涉及到对一些特殊的字符进行过滤的需求。包括带符号的(有部分还是SQL注入),并且存

发表评论

电子邮件地址不会被公开。 必填项已用*标注