推荐系统

机器学习和推荐系统中的评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)简介

你离开我真会死。 提交于 2020-03-16 01:21:38
数据挖掘、机器学习和推荐系统中的评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)简介。 引言: 在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。 业内目前常常采用的评价指标有准确率(Precision)、召回率(Recall)、F值(F-Measure)等,下图是不同机器学习算法的评价指标。下文讲对其中某些指标做简要介绍。 在介绍指标前必须先了解“混淆矩阵”: 混淆矩阵 True Positive(真正,TP):将正类预测为正类数 True Negative(真负,TN):将负类预测为负类数 False Positive(假正,FP):将负类预测为正类数误报 (Type I error) False Negative(假负,FN):将正类预测为负类数→漏报 (Type II error) 1、准确率(Accuracy) 准确率(accuracy)计算公式为: 注:准确率是我们最常见的评价指标,而且很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好。 准确率确实是一个很好很直观的评价指标,但是有时候准确率高并不能代表一个算法就好。比如某个地区某天地震的预测,假设我们有一堆的特征作为地震分类的属性,类别只有两个:0:不发生地震、1:发生地震。一个不加思考的分类器,对每一个测试用例都将类别划分为0

推荐系统之LFM(二)

*爱你&永不变心* 提交于 2020-03-14 04:41:13
  对于一个用户来说,他们可能有不同的兴趣。就以作者举的豆瓣书单的例子来说,用户A会关注数学,历史,计算机方面的书,用户B喜欢机器学习,编程语言,离散数学方面的书, 用户C喜欢大师Knuth, Jiawei Han等人的著作。那我们在推荐的时候,肯定是向用户推荐他感兴趣的类别下的图书。那么前提是我们要对所有item(图书)进行分类。那如何分呢?大家注意到没有,分类标准这个东西是因人而异的,每个用户的想法都不一样。拿B用户来说,他喜欢的三个类别其实都可以算作是计算机方面的书籍,也就是说B的分类粒度要比A小;拿离散数学来讲,他既可以算作数学,也可当做计算机方面的类别,也就是说有些item不能简单的将其划归到确定的单一类别;拿C用户来说,他倾向的是书的作者,只看某几个特定作者的书,那么跟A,B相比它的分类角度就完全不同了。   显然我们不能靠由单个人(编辑)或team的主观想法建立起来的分类标准对整个平台用户喜好进行标准化。   此外我们还需要注意的两个问题: 我们在可见的用户书单中归结出3个类别,不等于该用户就只喜欢这3类,对其他类别的书就一点兴趣也没有。也就是说,我们需要了解用户对于所有类别的兴趣度。 对于一个给定的类来说,我们需要确定这个类中每本书属于该类别的权重。权重有助于我们确定该推荐哪些书给用户。   下面我们就来看看LFM是如何解决上面的问题的?对于一个给定的用户行为数据集

推荐系统Lambda架构算法(二):基于K最近邻的协同过滤推荐算法及其实现

守給你的承諾、 提交于 2020-03-09 07:04:11
文章目录 基于K最近邻的协同过滤推荐 基于K最近邻的协同过滤推荐 基于K最近邻的协同过滤推荐其实本质上就是MemoryBased CF,只不过在选取近邻的时候,加上K最近邻的限制。 这里我们直接根据MemoryBased CF的代码实现 修改以下地方 class CollaborativeFiltering ( object ) : based = None def __init__ ( self , k = 40 , rules = None , use_cache = False , standard = None ) : ''' :param k: 取K个最近邻来进行预测 :param rules: 过滤规则,四选一,否则将抛异常:"unhot", "rated", ["unhot","rated"], None :param use_cache: 相似度计算结果是否开启缓存 :param standard: 评分标准化方法,None表示不使用、mean表示均值中心化、zscore表示Z-Score标准化 ''' self . k = 40 self . rules = rules self . use_cache = use_cache self . standard = standard 修改所有的选取近邻的地方的代码,根据相似度来选取K个最近邻 similar

推荐系统Lambda架构算法(七):基于内容的推荐算法(Content-Based)

喜夏-厌秋 提交于 2020-03-08 17:46:33
文章目录 基于内容的推荐算法(Content-Based) 简介 基于内容的推荐实现步骤 问题:物品的标签来自哪儿? 基于内容推荐的算法流程: 物品冷启动处理: 基于内容的推荐算法(Content-Based) 简介 基于内容的推荐方法是非常直接的,它以物品的内容描述信息为依据来做出的推荐,本质上是基于对物品和用户自身的特征或属性的直接分析和计算。 例如,假设已知电影A是一部喜剧,而恰巧我们得知某个用户喜欢看喜剧电影,那么我们基于这样的已知信息,就可以将电影A推荐给该用户。 基于内容的推荐实现步骤 画像构建 。顾名思义,画像就是刻画物品或用户的特征。本质上就是给用户或物品贴标签。 物品画像 :例如给电影《战狼2》贴标签,可以有哪些? "动作"、"吴京"、"吴刚"、"张翰"、"大陆电影"、"国产"、"爱国"、"军事"等等一系列标签是不是都可以贴上 用户画像 :例如已知用户的观影历史是:"《战狼1》"、"《战狼2》"、"《建党伟业》"、"《建军大业》"、"《建国大业》"、"《红海行动》"、"《速度与激情1-8》"等,我们是不是就可以分析出该用户的一些兴趣特征如:“爱国”、“战争”、“赛车”、“动作”、“军事”、“吴京”、"韩三平"等标签。 问题:物品的标签来自哪儿? PGC 物品画像–冷启动 物品自带的属性(物品一产生就具备的):如电影的标题、导演、演员、类型等等 服务提供方设定的属性

推荐系统和搜索引擎的比较

痴心易碎 提交于 2020-03-08 04:27:24
比较 推荐系统 搜索引擎 获取信息的方式不同 被动;模糊 主动;明确 个性化程度 高 低 服务特性 持续服务 (“好”的推荐系统往往让用户停留更多的时间,带来的增量点击,推荐成功数,成交转化提升量等) 快速满足 (“好”的搜索算法是需要让用户获取信息的效率更高、停留时间更短。) 特点 (用户存在大量的需求是比较难用精炼的文字组织的:一方面用户不愿意,另一方面搜索对语义的理解还无法足够深入) 满足难以文字表述的需求 (所以有了“相关推荐”、“猜你喜欢”) 推荐引擎又称为无声的搜索。 主流的搜索引擎仍然是以 文字 (最简洁、直接)构成查询词,搜索查询词也大都是比较短小的 相关理论 长尾理论阐述了推荐系统发挥的价值 (每一个人的品味和偏好都并非和主流人群完全一致,Chris指出:当我们发现得越多,我们就越能体会到我们需要更多的选择。) 马太效应:头部内容吸引了绝大部分点击 评价方式 相对宽泛,当应用于Top-N结果推荐时,MAP(Mean Average Precison)或CTR(Click Through Rate,计算广告中常用)是普遍的计量方法;当用于评分预测问题时,RMSE(Root Mean Squared Error)或MAE(Mean Absolute Error)是常见量化方法。 基于Cranfield评价体系,并基于信息检索中常用的评价指标

推荐系统 一

天大地大妈咪最大 提交于 2020-03-06 00:26:25
最近接到一个大四学长的毕业设计,他准备做一个推荐商品的模型。使用的数据集时Amazon商品评论数据集。 接到需求时,客户是要求基于评论做推荐,因为之前有做过NLP相关的项目,也看过一些推荐系统的介绍,就爽快的答应了。 首先经过调研,推荐系统分为两种:基于项目(商品)和基于用户 =====引申出还有基于两者混合的 按照我的理解: 基于用户的推荐系统就是,查找相似的用户,看相似的用户买了些什么,然后推荐给对象。 基于项目的推荐系统就是,查找相似的商品,找到相似(排序)的商品,然后推荐给对象。 对于这个数据集我看到github上有很多人把两者都分别实现了一次。深入了解后,我觉得两者各有利弊。所以我在想,如果不是特别复杂,就做一个混合的。 初步构思 1.首先将各个商品的相似的计算出来,得到每个商品与商品之间相似度,然后排序,得出每个商品与其最相似的N个商品 2.计算对应用户评论与该商品下其他用户评论的相似度,然后得出最相近的n个人的nn个商品。 3.模型接受(商品id,用户评论),然后将1、2步得出的商品加权排序,得出推荐列表 ps1.商品相似度由评论来计算(这里是根据主题词来计算还是余弦相似度计算,待考虑) ps2.客户要求使用Pytorch来做,所以我准备使用Bert做词嵌入(相似度的计算就使用余弦相似度吧) 施工ing 来源: https://www.cnblogs.com

推荐系统算法框架

心不动则不痛 提交于 2020-03-05 12:08:24
在介绍矩阵分解之前,先让我们明确下推荐系统的场景以及矩阵分解的原理。对于 推荐系统来说存在两大场景即评分预测(rating prediction)与Top-N推荐 (item recommendation,item ranking)。 评分预测场景主要用于评价网站,比如用户给自己看过的电影评多少分(MovieLens),或者用户给自己看过的书籍评价多少分。其中矩阵分解技术主要应用于该场景。 Top-N推荐场景主要用于购物网站或者一般拿不到显式评分信息的网站,即通过用户的隐式反馈信息来给用户推荐一个可能感兴趣的列表以供其参考。其中该场景为排序任务,因此需要排序模型来对其建模。因此,我们接下来更关心评分预测任务。 Ref: https://zhuanlan.zhihu.com/p/35262187 Ref: https://zhuanlan.zhihu.com/p/27502172 来源: CSDN 作者: 人鱼线 链接: https://blog.csdn.net/qfikh/article/details/104655674

个性化推荐研究(一)之何为个性化推荐

那年仲夏 提交于 2020-03-03 14:59:08
<h3>什么是个性化推荐系统</h3> <p>    如果你想买一台笔记本,那么你可能去中关村看看,亲自挑选一下;你也可能足不出户,在家里打开电脑,登录淘宝、京东等网站首页,在搜索栏里输入“笔记本”,即从中找到你心仪的笔记本。</p> <p>    但是如果你没有明确的需求呢?比如说,你今天很无聊,想找个电影看看,但是当你打开某个电影网站后,面对近几十年来发行的无数的电影,你有点手足无措了,因为你不知道该看哪一部电影好。这时,如果有一个喜欢看电影的好朋友在你身边,你可能会询问他哪部电影好看。不过,总不能你一想看电影就询问朋友吧,你不嫌烦你朋友还嫌烦呢。所以你可能需要一个自动化的工具,它可以分析你的历史兴趣,从无数的电影中推选几个符合你兴趣的电影。这个工具就是个性化推荐系统。</p> <p>    从上例可以看出,个性化推荐系统的出现其实就是对了解决信息过载问题。众所周知的搜索引擎(百度,google等)也是对了解决信息过载而应运而生的。其次,个性化推荐系统还可以挖掘物品的长尾,从而提高销售额。因此个性化推荐系统的出现,无论对于网站还是对于用户来说,都是双赢的局面。 <h3>个性化推荐系统是如何工作的</h3> <p>    如果没有个性化推荐系统,你如何决定看什么电影好呢?我们可能会通过如下方式:</p> <p>    1. 询问朋友。</p> <p>    2.

阿里推荐引擎使用

风格不统一 提交于 2020-03-03 14:14:58
一、阿里推荐引擎概述 推荐引擎(RecommendationEngine,以下简称RecEng,特指阿里云推荐引擎)是在阿里云计算环境下建立的一套推荐服务框架,目标是让广大中小互联网企业能够在这套框架上快速的搭建满足自身业务需求的推荐服务。 推荐服务通常由三部分组成:日志采集,推荐计算和产品对接。推荐服务首先需要采集产品中记录的用户行为日志到离线存储,然后在离线环境下利用推荐算法进行用户和物品的匹配计算,找出每个用户可能感兴趣的物品集合后,将这些预先计算好的结果推送到在线存储上,最终产品在有用户访问时通过在线API向推荐服务发起请求,获得该用户可能感兴趣的物品,完成推荐业务。 二、计费 推荐引擎费用: API调用次数加1(百万次/月)则每个月增加100元费用。 大数据计算服务MaxCompute费用: 详细说明:https://help.aliyun.com/document_detail/53056.html?spm=a2c4g.11186623.6.559.FuCZc8 三、使用步骤 3.1 创建MaxCompute项目 3.2 资源管理----添加云计算资源 详细可查看:https://help.aliyun.com/document_detail/61024.html?spm=a2c4g.11186623.6.561.XaLMDs 3.3 业务列表----新建业务