协同过滤的简单实现

数据集:http://grouplens.org/datasets/movielens/


u_mr

{user:{movie:rating,},}

转换为

m_ur

{movie:{user:rating,},}

 

相关系数(similarity)计算:

欧几里得距离;皮尔逊相关系数;其他还有Jaccard系数,曼哈顿距离算法

输入:两个暂时用字典表示的{key:value,}

输出:相关系数

 

m_mp

{movie:{movie:similarity,},}

书上用的是欧几里得距离算电影之间的相关性

 

对user进行推荐

获取u_mr[user]:{movie:rating,}

获取m_mp[movie]:{movie,similarity,}

       movie不在u_mr[user]中

 

计算u_mr[user]和 m_mp[movie]

评价值与相似度的加权之和

全部相似度之和

将每个合计值除以加权和,求出平均值,即为估计的用户评分

 

返回排序后的推荐列表

{movie1:value,movie2:value,}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值