基于物品的协同过滤算法ItemCF
基于物品的协同过滤算法ItemCF
基于item的协同过滤,通过用户对不同item的评分来评测item之间的相似性,基于item之间的相似性做出推荐。简单来讲就是:给用户推荐和他之前喜欢的物品相似的物品。
用例说明:
注:基于物品的协同过滤算法,是目前商用最广泛的推荐算法。
刚开始看这个用例,感觉还是基于用户进行的推荐,用户A,B,C都喜欢物品a,并且用户A,B喜欢物品c,然后就将物品c推荐给用户C。
再回过头来看看基于物品的协同过滤的概念:给用户推荐和他之前喜欢的物品相似的物品。按我的理解和其他用户的喜好并没有什么直接关系;比如用户C喜欢帽子a,再给他推荐个类似的商品帽子b就可以了。
比如:物品a为啤酒,物品c为尿布,符合图例,则向用户C推荐的物品为尿布,因为物品a和物品c相似?,所以就向用户C推荐了此商品。显然这里的相似并不是决对的相同种类或类型的物品。
那物品的相似是怎么计算出来的哪?
Iterm-based的基本思想是预先根据所有用户的历史偏好数据计算物品之间的相似性,然后把与用户喜欢的物品相类似的物品推荐给用户。
这样解释就可以很好的说明上面的疑问了。
当然也可以直接针对不同物品建立相似性关系。计算出不同物品的相似度。
相似度
当已经对用户行为进行分析得到用户喜好后,我们可以根据用户喜好计算相似用户和物品,然后基于相似用户或者物品进行推荐,这就是最典型的 CF 的两个分支:基于用户的 CF 和基于物品的 CF。这两种方法都需要计算相似度。
关于相似度的计算,现有的几种基本方法都是基于向量(Vector)的,其实也就是计算两个向量的距离,距离越近相似度越大。在推荐的场景中,在用户 - 物品偏好的二维矩阵中,我们可以将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度,或者将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度。
上一篇文章中基于用户的协同过滤,建立的用户相似矩阵,此篇文章是建立的物品相似度的矩阵。
同现矩阵(Co-occurrence Matrix): 反应物品关联度的矩阵
生成同现矩阵
数据:user,item,grade
1,101,5.0 1,102,3.0 1,103,2.5 2,101,2.0 2,102,2.5 2,103,5.0 2,104,2.0 3,101,2.0 3,104,4.0 3,105,4.5 3,107,5.0 4,101,5.0 4,103,3.0 4,104,4.5 4,106,4.0 5,101,4.0 5,102,3.0 5,103,2.0 5,104,4.0 5,105,3.5 5,106,4.0
用户1的三个item 101,102,103形成9种组合,相应位置加1.
[101] [102] [103]
[101] 1 1 1
[102] 1 1 1
[103] 1 1 1
最终结果:
[101] [102] [103] [104] [105] [106] [107]
[101] 5 3 4 4 2 2 1
[102] 3 3 3 2 1 1 0
[103] 4 3 4 3 1 2 0
[104] 4 2 3 4 2 2 1
[105] 2 1 1 2 2 1 1
[106] 2 1 2 2 1 2 0
[107] 1 0 0 1 1 0 1
下面内容摘自一论坛:
再谈谈Co-occurrence Matrix(同显矩阵)和User Preference Vector(用户评分向量)相乘得到的这个Recommended Vector(推荐向量)的意义
![](http://attach.dataguru.cn/attachments/forum/201401/11/113248yu6z9hymzykht829.jpg)
![](http://attach.dataguru.cn/attachments/forum/201401/11/113637hgh8uddxi6v6rv0z.jpg)
![](http://attach.dataguru.cn/attachments/forum/201401/11/113646f62y4gh22qsfudb4.jpg)
基于物品的协同过滤算法ItemCF相关推荐
- 推荐系统实践(二)----基于物品的协同过滤算法(ItemCF)
上一篇博客我简单讲了一下基于用户的协同过滤算法,这里我们一起来学习一下另一种:基于物品的协同过滤算法.基于物品的协同过滤算法是目前业界应用最多的算法,亚马逊.Netflix.Hulu.YouTub ...
- Hadoop案例之基于物品的协同过滤算法ItemCF
Hadoop案例之基于物品的协同过滤算法ItemCF 转载自:http://blog.csdn.net/qq1010885678/article/details/50751607?locationNu ...
- 使用Spark DataFrame实现基于物品的协同过滤算法(ItemCF)
简书不支持Markdown Math语法,请移步https://glassywing.github.io/2018/04/10/spark-itemcf/ 简介 当前spark支持的协同过滤算法只有A ...
- itemCF matlab算法,基于物品的协同过滤算法(ItemCF)
物品相似度计算 余弦相似度公式: 其中 , 分别表示对物品 , 喜欢的用户数, 为同时喜欢 和 的人数.我们这里还是使用漫威英雄举例:假设目前共有5个用户: A.B.C.D.E:共有5个漫威英雄人物: ...
- ItemCF,基于物品的协同过滤算法
转载自 ItemCF,基于物品的协同过滤算法 ItemCF:Item Collaboration Filter,基于物品的协同过滤 算法核心思想:给用户推荐那些和他们之前喜欢的物品相似的物品. 比 ...
- 推荐算法 itemcf java_推荐系统之基于物品的协同过滤算法(ItemCF)
推荐系统之基于物品的协同过滤算法(ItemCF) 发布时间:2018-03-04 16:55, 浏览次数:1778 , 标签: ItemCF 推荐系统之基于物品的协同过滤算法(ItemCF) 前端时间 ...
- [推荐算法]ItemCF,基于物品的协同过滤算法
[推荐算法]ItemCF,基于物品的协同过滤算法 标签: ItemCF基于用户的协同过滤算法 2015-03-09 15:11 4144人阅读 评论(1) 收藏 举报 本文章已收录于: 分类: ...
- 【推荐系统】基于物品的协同过滤算法
基于物品的协同过滤算法 目前业界应用最多的算法. 给用户推荐和他们之前喜欢的物品相似的物品. 其主要通过分析用户的行为记录计算物品之间的相似度.物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都 ...
- 基于物品的协同过滤推荐算法_《推荐系统实践》3.基于物品的协同过滤算法
基于物品的协同过滤算法(item-based collaborative filtering,以下简称ItemCF)算法思想:给用户推荐那些和他们之前喜欢的物品相似的物品. 不过,ItemCF算法并不 ...
最新文章
- 【转】使用Core Graphics绘画一个山寨微信icon
- 约瑟夫问题(java实现)
- h5页面生成图片分享到微信js_html2canvas 动态生成微信分享海报的优质js库
- Unicode中UTF-8与UTF-16编码详解
- 杀破狼java_终于把《杀破狼》看完了
- 移动端实现内滚动的4种方案
- 盛格塾丨品鉴《金石录后序》
- HttpClient登陆开心网
- win10计算机升级系统,微软Win10升级助手
- 天载配资关注这个转折点机会
- 基于JavaWeb的餐厅点餐系统设计与实现
- st-link v2怎么连接_固件升级:BOOX Nova\Note\Max2电纸书V2.1.1版固件发布
- 打印机一页内容总是有空白
- 硬件产品开发:外包五要素和外包地图
- java 复制excel_PoiUtil.java 用于excel间sheet复制
- CCF认证201403-1相反数
- 剧集分销模式不再吃香
- luffcc项目-13-积分抵扣、发起支付、
- 招标采购评标专家管理数智化解决方案
- 智慧新能源电站远程监控系统总体设计
热门文章
- Android 插件化原理----Hook机制之动态代理
- 想知道有哪些热门、常用API,这一篇就够了
- 一个无知oier的娱乐——我的游戏开发经历
- iPhone4 解决 FolderEnhancer 过期 安全模式 的问题
- oracle oui gi是什么,Oracle 11g RAC手动打GI PSU补丁(11.2.0.4.8)
- 计算机截屏窗口快捷键,电脑截屏的快捷键是什么
- netstat的10个基本用法讲解
- 【easyUI】easyUI Confirm使用方法及配置文字以及回调以及【更改源码】扩展功能修改按钮文字;
- KeyFinder 快速破解AES密钥
- 手机生成ODEX提升开机速度的原因