基于邻域的算法

基于领域的算法是推荐系统中最基本的算法,包括基于用户的协同过滤算法以及基于物品的协同过滤算法。

基于用户的协同过滤算法

  • 这是推荐系统中最古老的算法,甚至可以说这个算法标志这推荐系统的诞生。
  • 基础算法
    主要步骤:
    (1)找到和目标用户有相似兴趣的用户集合。
    (2)根据相似用户的感兴趣的,推荐目标用户感兴趣但是没有听说过的进行推荐。
    对于步骤(1),关键是计算两个用户的兴趣的相似度。可以通过Jaccard公式或者余弦公式。假设有用户u和v,N(u)表示u有正反馈的物品,以此类推。
    Jaccard公式:

    余弦公式:

    使用Python实现余弦公式的为代码如下(该方法非常耗时):
def UserSimarility(train):w = dict();for u in train.keys():for v in train.keys():if u == v:continuew[u][v] = len(train[u] & train[v])w[u][v] /= math.sqrt(len(train[u]) * len(train[v] * 1.0))return w

然而以上的算法相当耗时,时间消耗在寻找相似用户之上。我们可以通过建立倒排表,通过UserCF实现推荐算法。

读书笔记---推荐系统实践(3)相关推荐

  1. 读书笔记--推荐系统实践 第一章

    推荐系统实践 编著 项亮 参与创建Resys China推荐系统社区 第一章 好的推荐系统 什么是好的推荐系统?什么样的特征?有哪些评价指标? 1.1 好的推荐系统 信息过载 (Information ...

  2. 读书笔记 -- 推荐系统实践(1)

    第一章 什么是推荐算法? 推荐算法是用于解决信息过载问题的方法,链接无明确需求的用户与物品的工具. 个性化推荐 依赖于用户行为.大多数包括:前台展示页,后台日志系统以及推荐算法系统.应用情景是:存在信 ...

  3. 读书笔记--推荐系统实践(2)

    第二章 利用用户行为数据 用户行为数据简介 最简单的存在形式是:日志 行为数据的反馈形式以及对比: 用户行为分析 设计算法之前的分析,更有针对性的进行算法设计. 用户活跃度和物品流行度的分布:满足Po ...

  4. 读书笔记--推荐系统实践(4)

    这次主要谈一下对推荐系统中的用户相似度进行的一个改进. 首先有这样的一个现象,有些热门物品是很多人都共同拥有的,并不能代表兴趣所在,如:新华字典等,然而冷门物品往往可以反应兴趣所在,比如,买了数据挖掘 ...

  5. 【高性能Mysql】读书笔记及实践总结

    前言: 最近看了一系列mysql文章.对Mysql的基础知识理解有了一些与实践相符合的认知.mark一下. 正文: MySql基础知识分为四大点:一.并发控制(读/写锁):二.事务:三.多版本并发控制 ...

  6. 响应式Web设计读书笔记与实践

    前段时间在微博上看到了几个在当今前端圈中的大牛的撕逼大战,作为一个前端小白来说就只是看热闹的,热闹中看到了两本书,<无懈可击的Web设计>和<响应式Web设计>,前者没有买到纸 ...

  7. 推荐系统实践读书笔记-04利用用户标签数据

    推荐系统实践读书笔记-04利用用户标签数据 推荐系统的目的是联系用户的兴趣和物品,这种联系需要依赖不同的媒介.GroupLens在一篇文章中表示目前流行的推荐系统基本上通过3种方式联系用户兴趣和物品. ...

  8. 推荐系统实践读书笔记-01好的推荐系统

    推荐系统实践读书笔记-01好的推荐系统 在研究如何设计推荐系统前,了解什么是好的推荐系统至关重要.只有了解了优秀推荐系统的特征,我们才能在设计推荐系统时根据实际情况进行取舍.本章分3个步骤来回答这个问 ...

  9. 推荐系统实践读书笔记-08评分预测问题

    推荐系统实践读书笔记-08评分预测问题 本书到目前为止都是在讨论TopN推荐,即给定一个用户,如何给他生成一个长度为N的推荐列表,使该推荐列表能够尽量满足用户的兴趣和需求.本书之所以如此重视TopN推 ...

最新文章

  1. apache-2.4.x 编译安装方法
  2. gitlab run成功 但无法访问_gitlab 部署 管理
  3. html中select标签乱码,select 的过程中中文乱码有关问题求教
  4. 2020统计局的行政划分表_国家统计局:月入2000-5000元并非“中等收入群体”
  5. C中的malloc()和calloc()
  6. static_cast、dynamic_cast、const_cast和reinterpret_cast总结(转)
  7. 架构师必备!英特尔携手Science联袂推出“架构师成长计划”,来自阿里云、AWS、百度、顺丰、平安等头部大厂专家分享实战经验...
  8. 项目介绍star原理_这个Python项目厉害了!多个实战案例教你分析时空数据处理...
  9. 小白都不知道的互联网行业黑化大全
  10. 使用“VMware ThinApp”绿化软件
  11. HDU2122 Ice_cream’s world III 【最小生成树】
  12. 计算机科学成为独立学科的奠基人,详解卡内基梅隆大学计算机学院
  13. 微信iOS 8.0.8正式版重磅更新啦,这些新功能超好用!!
  14. Django Swagger文档库drf-spectacular
  15. AdGuard常规设置的介绍
  16. 常用计算机二级题库,17年计算机二级office选择题题库
  17. 个人养老金是什么?怎么缴?如何领?
  18. Docker搭建持续集成平台jira
  19. 【Android Gradle 插件】DexOptions 配置 ② ( additionalParameters 属性配置 | dx 工具 | dx 附加参数 )
  20. 港科夜闻|香港科大与腾讯金融学院(香港)携手培育金融科技人才

热门文章

  1. 线性代数基础2--齐次线性方程组的解及方程组解的总结
  2. 实现QQ音乐项目的一些技术点jQuery,html5
  3. 什么是DBA?怎样成为一个DBA?
  4. Java23种设计模式——19.行为型模式之中介者模式
  5. 三、IDEA更换主题皮肤
  6. 邮件服务器之Webmail
  7. Ubuntu安装nvidia显卡驱动经验和注意事项(成功率高)
  8. android-配置文件AndroidManifest.xml详解
  9. ZZNUOJ_C语言1046:奇数的乘积(完整代码)
  10. pip:ffi.h: No such file or directory“