协作型过滤

  什么是协作型过滤?也就是根据你的历史喜好,再根据其他人和你类似的喜好,来向你推荐你未曾接触过的物品。实际上前面两章的内容就是协作型过滤的基本算法。

  协作型过滤有两大分支:

  一:基于用户的协作型过滤。顾名思义也就是根据你的历史喜好,找到其他和你相似的人,再从其他人的喜好列表中向你推荐你可能会喜欢的物品。

  二:基于物品的协作型过滤。根据你历史喜好的物品,找出和此物品相似的其他物品,将物品推荐给你。

  这两者尽管都属于协作型过滤,但是有不同的应用场景。应该很容易的想出,在社交类的网站推荐系统中,使用的最多的是基于用户的协作型过滤,而在非社交,例如电商,使用的则是基于物品的协作型过滤。电商网站中应该不会存在向你推荐和你有着类似购物喜好的人吧?如果它要这么做,那估计也就是要向社交发展了,不仅是因为网站属性的原因,因为不管使用哪种过滤都能对你进行物品推荐,但是基于物品的协作型过滤可以尽可能少得进行物品相似型比较,因为它可以“预先”进行物品的相似度匹配,而基于用户的相似度匹配,则要不停的对所有人进行相似度匹配,这一点上开销是很大的,特别是在非社交性网站上采用基于用户的协作型过滤。

  这个博客写的更详细:http://blog.csdn.net/johnny710vip/article/details/23703931

时间: 2024-08-07 08:24:58

协作型过滤的相关文章

提供推荐——协作型过滤

提供推荐--协作型过滤 一.协作型过滤 一个协作型过滤算法通常的做法是对一大群人进行搜索,并从中找出与我们品味相近的一群人.然后对这些人的偏好内容进行考查,并将它们组合起来构造出一个经过排名的推荐列表. 搜集偏好 寻找相近的用户 欧几里得距离评价 皮尔逊相关度评价 为相近用户打分排序 推荐物品 推荐结果 1.搜集偏好 # 不同用户对电影的评分字典 critics={'Lisa Rose': {'Lady in the Water': 2.5, 'Snakes on a Plane': 3.5,

集体智慧编程_第二章(提供推荐)_1

前言:最近正在拜读Toby Segaran先生写的集体智慧编程,首先感谢Toby Segaran先生将知识以书本的方式传播给大家,同时也感谢莫映和王开福先生对此书的翻译,谢谢各位的不辞辛苦.首先在写随笔之前,跟各位分享一下我的编程环境:win7系统,python版本是2.7.10,开发环境我选择的是pycharm程序.本书的第一章为集体智慧导言,主要介绍的何为集体智慧和机器学习的相关概念和其局限性,以及与机器学习相关的例子和应用场景.下面开始机器学习第二章--提供推荐的相关内容. 本章主要内容:

推荐——基于python

资料来源: <集体智慧编程>&网络 一.推荐系统 概述 定义 维基百科定义: 推荐系统属于资讯过滤的一种应用. 推荐系统能够将可能受喜好的资讯或实物(例如:电影.电视节目.音乐.书籍.新闻.图片.网页)推荐给使用者. 形成过程 随着互联网的发展,人们正处于一个信息爆炸的时代.相比于过去的信息匮乏,面对现阶段海量的信息数据,对信息的筛选和过滤成为了衡量一个系统好坏的重要指标.一个具有良好用户体验的系统,会将海量信息进行筛选.过滤,将用户最关注最感兴趣的信息展现在用户面前.这大大增加了系统

网易云音乐的歌单推荐算法

[转载]原文地址:https://www.zhihu.com/question/26743347 原文: 不是广告党,但我却成为网易云音乐的的重度患者,不管是黑红的用户界面,还是高质量音乐质量都用起来很舒服.我喜欢听歌,几乎每周不低于15小时,但其实听得不是特别多,并没有经常刻意地去搜歌名,所以曲目数量我并不是很在乎.但是比起其它,网音给我推荐的歌单几乎次次惊艳,而且大多都没听过,或者好久以前听过早就忘记了名字,或者之前不知道在哪听过 只是知道其中一部分旋律,根本不知道名字,等等,听起来整个人大

集体智慧编程-第二章-提供推荐

2.1 协作型过滤 定义:对一大群人进行搜索,对这些人所偏爱的其他内容进行考察,并将他们组合起来构造出一个经过排名的推荐列表. 2.2 判断相似性 欧几里德距离 皮尔逊相关系数 定义:最佳拟合线(best-fit line)的相关系数(最小二乘法中的R) 计算公式 适用场景 非normalized 修正grade inflation 2.3 两种协作型过滤 基于人的协作型过滤 基于物品的协作型过滤 原文地址:https://www.cnblogs.com/ryu-manager/p/930210

协作性软件开发平台与众包

目录[-] --> 正文 --> 本文最初刊登于IEEE Software杂志,现由InfoQ & IEEE Computer Society呈现给大家. “众包,一度创造了非常成功的企业,比如Linux.同时,高效合作.众包支持下的平台还在不断涌现.本文作者Xin Peng, Ali Babar和我从整体上介绍了众包的当前技术,我们欢迎读者和专栏作者对本文提出评价和看法,也期望你提出自己希望了解的技术问题.” --Christof Ebert 1991年,芬兰赫尔辛基大学一位21岁的

Request参数批量过滤,防注入(逐步完善中...)

来公司没有多久,检查了之前程序员写的代码,有些乱,很多Request没有验证. 尝试写了一个通用的Sql过滤的函数放OnInit,临时用下,不讲究效率,仅应急使用. /// <summary> /// 检查请求参数是否安全 /// </summary> /// <returns>有注入危险的请求参数</returns> public string CheckRequstSafe() { string sErrPara = ""; fore

【SignalR-入门】

1.什么是SignalR: ASP.NET SignalR是为简化开发开发人员将实时web内容添加到应用程序过程而提供的类库.实时web功能指的是让服务器代码可以随时主动推送内容给客户端,而不是让服务器等待客户端的请求(才返回内容). 所有"实时"种类的web功能都可以使用SignalR来添加到你的ASP.NET应用程序中.最常用的例子有聊天室,但我们能做的比这要多得多.考虑以下情况:用户需要不停的刷新网页来看最新的数据:或者在页面上通过实现长轮询来检索新数据(并显示),那你就可以考虑

sql注入基础

有好多人都只知道有sql注入漏洞这种漏洞,也知道怎么用一些工具来利用漏洞,但是却不知道SQL注入漏洞的原理.为了帮助初学者理解sql注入的原理,我写下了这篇文章,希望能对大家有所帮助. 什么是SQL注入: SQL注入是攻击者通过把恶意SQL命令插入到Web表单的输入域或页面请求的查询字符串中,来达到欺骗服务器执行恶意的SQL命令的一种攻击方式.(数据与代码没有完全分离) Sql注入漏洞产生原理: 上面我们提到SQL注入的产生原因是数据和代码没有完全分离产生的.下面我们来看看SQL注入漏洞具体的产