推荐算法 itemcf java_推荐系统之基于物品的协同过滤算法(ItemCF)

推荐系统之基于物品的协同过滤算法(ItemCF)

发布时间:2018-03-04 16:55,

浏览次数:1778

, 标签:

ItemCF

推荐系统之基于物品的协同过滤算法(ItemCF)

前端时间已经把基于用户的推荐系统给弄出来了,详情见我的另一篇文章:点击打开链接

,(建议先看懂UserCF后再来看这篇文章,当然大佬可以忽视)其实理解了基于用户的协同过滤算法,再来看基于物品的协同过滤算法,就会感觉没啥太大差异,

具体的思路,通俗的讲:用户A 喜欢了一个物品s集合,那么推荐的时候就把与物品s集合里最相似的前N个物品推荐给用户A,结束。

是不是言简意赅?哈哈,其实道理都差不多,看懂了UserCF再来看ItemCF,就会感觉基本差不多。具体的步骤呢:

一、计算物品之间的相似度。

二、根据物品的相似度和用户的历史行为给用户生成推荐列表

同样,计算相似度的时候公式用的也是余弦相似度,详情就看我写的UserCF吧:点击打开链接

,因为都差不多就不重复写了,对照着上一篇博客然后在看看书,就知道基本完全一样了

这里就贴上书上给的一个案例,最下面就是系统的推荐TOP N ,很好理解:

依旧是大牛的ItemCF 代码,贴上供大家学习:#-*- coding: utf-8 -*- ''' Created on 2015-06-22

@author: Lockvictor ''' import sys import random import math import os from

operator import itemgetter random.seed(0) class ItemBasedCF(object): ''' TopN

recommendation - Item Based Collaborative Filtering ''' def __init__(self):

self.trainset = {} self.testset = {} self.n_sim_movie = 20 self.n_rec_movie =

10 self.movie_sim_mat = {} self.movie_popular = {} self.movie_

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值