slope one 推荐算法python 代码_slope one python版与spark sql版本代码分享

slopeone原理

Slope One  是一种很简单的类比类似的算法, 其实大体意思 就是A B 不同的用户 对不同的 item1 item2 打分

那么 一个新用户C 对item的打分,就是  该用户的打分 减去 其他用户打分的平均 就是C用户对未知tem的打分

他有个很好的有点,数据少的时候效果也很好。

user

item1

item2

A

7

2

B

8

3

C

9

那么 C的item2 打分 为 9-((7-2)+(8-3))/2=4

其实分成2步

1. 计算物品之间评分差的平均值,记为物品间的评分偏差;

2.根据物品间的评分偏差和用户的历史评分,给用户生成预测评分高的推荐物品列表。

python版本

# Copyright 2006 Bryan O'Sullivan .

#

# This software may be used and distributed according to the terms

# of the GNU General Public License, version 2 or later, which is

# incorporated herein by reference.

class SlopeOne(object):

def __init__(self):

self.diffs = {}

self.freqs = {}

def predict(self, userprefs):

preds, fr

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值