User-CF

思想是根据用户相似度推荐商品,计算步骤如下:

步骤1. 得到用户矩阵

得到n表示用户,m为商品的评分大矩阵,矩阵的值可以是用户对物品的评价,是否收藏等数据

步骤2. 得到计算预估评分的参考用户

每个用户的购买数据相当于用户的向量,用皮尔逊相关系数计算待推荐用户与其他所有用户之间的相似度,找出topN的相似用户或所有相关系数>0的用户,作为预估未购买的商品评分的参考用户。

步骤3. 计算未购买的商品的预估评分

根据相似用户的评分计算出推荐用户没有购买过的商品的预估评分,一般会用相关系数作为权重,计算 相似用户当前商品的相关系数加权评分/相似用户相关系数之和

但是,这种计算思路存在的问题:

  1. 由于商品规模较大,因此user很难存在相似性
  2. 用户数量太大,维护用户相似度表是平方级的空间
  3. 人是善变的,不同阶段的需求是不同的

Item-CF

计算思路与User-CF类似,只是这里根据物品相似度推荐商品:

  1. 步骤1:认为每个用户对商品的评分就是这个商品的向量
    比如下面的movies1的向量就是:[1,0,3,0,0,5,0,0,5,0,4,0]
  2. 步骤2: 得到计算预估评分的参考商品
  3. 步骤3: 计算未购买的商品的预估评分

推荐系统学习(二)基于用户/物品的协同过滤算法(User-CF / Item-CF)相关推荐

  1. ItemCF,基于物品的协同过滤算法

    转载自   ItemCF,基于物品的协同过滤算法 ItemCF:Item Collaboration Filter,基于物品的协同过滤 算法核心思想:给用户推荐那些和他们之前喜欢的物品相似的物品. 比 ...

  2. 推荐系统实践(二)----基于物品的协同过滤算法(ItemCF)

      上一篇博客我简单讲了一下基于用户的协同过滤算法,这里我们一起来学习一下另一种:基于物品的协同过滤算法.基于物品的协同过滤算法是目前业界应用最多的算法,亚马逊.Netflix.Hulu.YouTub ...

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

    推荐系统之基于物品的协同过滤算法(ItemCF) 发布时间:2018-03-04 16:55, 浏览次数:1778 , 标签: ItemCF 推荐系统之基于物品的协同过滤算法(ItemCF) 前端时间 ...

  4. 推荐算法概述(基于用户的协同过滤算法、基于物品的协同过滤算法、基于内容的推荐算法)

    "无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程." 目前推 ...

  5. 【推荐系统】{2} —— 基于物品的协同过滤算法

    协同过滤(英语:Collaborative Filtering,简称CF),简单来说是利用某兴趣相投.拥有共同经验之群体的喜好来推荐用户感兴趣的信息,个人透过合作的机制给予信息相当程度的回应(如评分) ...

  6. 大数据Hadoop学习之————基于物品的协同过滤算法实现物品推荐

    一.基础概念 协同过滤算法一般分为两种实现: 基于用户的协同过滤算法(userCF):通过寻找相似兴趣的其他用户,为指定用户推荐物品.比如用户A喜欢商品A.B,用户B也喜欢商品A和B,则可以认为用户A ...

  7. 【推荐系统】基于物品的协同过滤算法

    基于物品的协同过滤算法 目前业界应用最多的算法. 给用户推荐和他们之前喜欢的物品相似的物品. 其主要通过分析用户的行为记录计算物品之间的相似度.物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都 ...

  8. 基于物品的协同过滤推荐算法_《推荐系统实践》3.基于物品的协同过滤算法

    基于物品的协同过滤算法(item-based collaborative filtering,以下简称ItemCF)算法思想:给用户推荐那些和他们之前喜欢的物品相似的物品. 不过,ItemCF算法并不 ...

  9. 推荐系统实战(2)——基于物品的协同过滤算法(代码实现),U-CF和I-CF的比较

    这里加点东西:有利于理解 1基于CF的推荐算法 1.1算法简介 CF(协同过滤)简单来形容就是利用兴趣相投的原理进行推荐,协同过滤主要分两类,一类是基于物品的协同过滤算法,另一种是基于用户的协同过滤算 ...

最新文章

  1. linux下代码写错了怎么更改_AWS全面上市开源Linux发行版,专为容器操作系统设计...
  2. Java实现字母的大小写转换
  3. React开发(110):注意state定义的数据类型
  4. Linux添加网站后无法显示,Linux:SElinux导致网站无法访问
  5. 个人支付源码_[5G时代投资风口源码修复版] 投资区块链+订制UI完美版+对接免签支付+自带发圈推广任务奖励+视频教程...
  6. Smarty学习笔记(二)
  7. 实验一matlab编程基础,实验一、MATLAB编程基础及典型实例.doc
  8. ACM模板(Java)
  9. 网页版office服务器,Office 网页版服务说明
  10. 利用BioEdit做多序列一致性比对
  11. CAB Activex
  12. LeetCode 781 森林中的兔子 题解
  13. C++刷题知识点总结2
  14. 基础算法练习:杨辉三角形
  15. 德州仪器(TI)3D机器视觉参考设计
  16. 前端开源库 CDN 加速
  17. Ubuntu数据备份与恢复工具(一)
  18. 大众车功能码与地址码大全(英/中)
  19. 人来人走----超级表格创业大街历险记
  20. 倾斜框IOU计算实现(c++,python)

热门文章

  1. t3显示乱码_打开T3出现乱码是什么原因,如下图
  2. java socket群聊_java socket来实现私聊和群聊-简易版
  3. UE4在VS2013中各个编译配置代表意义
  4. Autodesk FBX
  5. Fix Backup Database is terminating abnormally When performing a Farm Backup
  6. 12.使用default-Action配置统一访问
  7. Android Http客户端如何选择?
  8. OUTLOOK 的PST文件和OST文件的区别
  9. python mysql 基于 sqlalvhrmy_Python基于DB-API操作MySQL数据库过程解析
  10. delphi dbgrideh 遍历每一个单元格_真香!我用Python 制作了一个迷宫游戏