大数据分析技术_第1页
大数据分析技术_第2页
大数据分析技术_第3页
大数据分析技术_第4页
大数据分析技术_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机械工业出版社《分布式计算、云计算与大数据》配套课件华南理工大学林伟伟主编第12章电商大数据分析技术提纲电商大数据需求分析与方法概述基于规则统计模型的大数据分析方法基于协同过滤的大数据分析方法基于逻辑回归模型的大数据分析方法 天猫双十一销售额571亿2014.11.112013.11.11天猫双十一成交数据对比3分钟10亿6分07秒10亿5分钟20亿13分22秒20亿14分钟50亿38分钟50亿38分钟100亿5小时49分钟100亿7小时17分钟200亿13小时39分钟200亿10小时51分钟300亿17小时31分钟300亿24小时571亿24小时362亿 如何去更好地运用大数据?数据挖掘分布式计算Hadoop、Spark统计学分析人工智能Mahout....某电商大数据需求分析与方法概述某电商网站,每天都会有数千万的用户通过品牌发现自己喜欢的商品,品牌是联接消费者与商品最重要的纽带。某电商网站大数据大赛的任务就是根据用户4个月在电商网站的行为日志,建立用户的品牌偏好,并预测他们在将来一个月内对品牌下商品的购买行为。大赛数据类型说明:评估指标预测的品牌准确率越高越好,也希望覆盖的用户和品牌越多越好,所以用最常用的准确率与召回率作为排行榜的指标。准确率:注:N为参赛队预测的用户数;pBrandsi为对用户i预测他(她)会购买的品牌列表个数;hitBrandsi对用户i预测的品牌列表与用户i真实购买的品牌交集的个数。召回率:

注:M为实际产生成交的用户数量;bBrandsi为用户i真实购买的品 牌个数;hitBrandsi预测的品牌列表与用户i真实购买的品牌交集的 个数。

F1-Score: F1-Score拟合准确率与召回率,大赛最终成绩排名以F1 得分为准。

注:F1分数(F1Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的准确率P和召回率R。F1分数可以看作是模型准确率和召回率的一种加权平均,它的最大值是1,最小值是0。大赛数据提交格式说明数据说明:提供的原始文件有大约4M左右,涉及1千左右电商用户,几千个电商品牌,总共10万多条的行为记录。用户4种行为类型(Type)对应代码分别为——点击:0;购买:1;收藏:2;购物车:3提交评分方式:参赛者将预测的用户存入文本文件中,格式如下:user_id\tbrand_id,brand_id,brand_id\n

推荐算法和技术基于规则模型统计分析协同过滤推荐数据挖掘算法提纲电商大数据需求分析与方法概述基于规则统计模型的大数据分析方法基于协同过滤的大数据分析方法基于逻辑回归模型的大数据分析方法基于规则统计模型的大数据分析方法基于规则统计分析主要用于数据分类和综合评价。综合评价是区划和规划的基础。从人类认识的角度来看有精确的和模糊的两种类型,因为很多时候很多现象难以用精确的定量关系划分和表示,因此基于规则的模糊模型也比较实用,模糊评价一般经过四个过程:(1)评价因子的选择与简化;(2)多因子重要性指标(权重)的确定;(3)因子内各类别对评价目标的隶属度确定;(4)选用某种方法进行多因子综合。分析数据的特性和规律等,按照一定的相关规则或者公式,也就是建立已提供的数据相关的统计模型,接着使用建立的统计模型处理数据,从而得到根据规则得到的统计结果。基于规则统计模型的大数据分析方法多种规则:推荐之前已经购买过的商品;推荐前三个月购买过,后一个月只有点击过的商品;推荐在最近k天内对该品牌有操作(点击、购买、收藏、放进购物车)的品牌;推荐用户对某商品曾连续操作n次以上的商品;推荐基于时间比重模型而统计出来的商品;........推荐基于时间比重模型而统计出来的商品对以上四种行为根据其重要性给予一定的初始比重:点击=0.5,购买=2,收藏=1,购物车=1,然后该商品的总权重随着行为发生时间的越近而增大,增长的公式为:delta*(days/dayGranularity+1)*dayWeight注:delta表示四种行为初始的比重;days表示该行为发生的日期离4月15日也就是第一天的时间跨度;dayGranularity表示时间粒度,即每隔多少天后,权重会提高;dayWeight表示每隔dayGranularity天后权重提升的比例。提纲电商大数据需求分析与方法概述基于规则统计模型的大数据分析方法基于协同过滤的大数据分析方法基于逻辑回归模型的大数据分析方法基于协同过滤的大数据分析方法协同过滤推荐(CollaborativeFilteringmendation)与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测主流的协同过滤方法有以下两种:

1)item-basedCF基于物品的协同过滤,通过用户对不同物品的评分来评测物品之间的相似性,基于物品之间的相似性做出推荐。

2)user-basedCF基于用户的协同过滤,通过不同用户对物品的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐。协同过滤的三个步骤收集用户偏好找到相似的用户或物品计算推荐收集用户偏好分为显式与隐式两种,显式:用户填写评分,投票,转发等等,通过用户显式的行为获取到的数据。隐式:用户浏览网站,购买,关注等等。显示与隐式的区别在于用户是否直接评分。某电商网站提供的数据属于隐式,我们将四种行为根据重要性分别赋予不同的值,如:点击=0.3,购买=5,收藏=2,购物车=3。2.找到相似的用户或物品相似度计算(基于向量)欧几里得距离(EuclideanDistance):曼哈顿距离:名科夫斯基距离:

相似邻居计算如下图A——固定数量的邻居:K-neighborhoods或者Fix-sizeneighborhoods如下图B——基于相似度门槛的邻居:Threshold-basedneighborhoods3.计算推荐(基于用户与物品的协同过滤)基于用户对物品的偏好找到相邻邻居用户,然后将邻居用户喜欢的推荐给当前用户。计算上,就是将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度,找到K邻居后,根据邻居的相似度权重以及他们对物品的偏好,预测当前用户没有偏好的未涉及物品,计算得到一个排序的物品列表作为推荐。下图给出了一个例子,对于用户A,根据用户的历史偏好,这里只计算得到一个邻居-用户C,然后将用户C喜欢的物品D推荐给用户A。基于物品的CF的原理和基于用户的CF类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品给他。从计算的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。下图给出了一个例子,对于物品A,根据所有用户的历史偏好,喜欢物品A的用户都喜欢物品C,得出物品A和物品C比较相似,而用户C喜欢物品A,那么可以推断出用户C可能也喜欢物品C。mahout介绍Mahout提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含聚类、分类、推荐过滤、频繁子项挖掘等的实现。此外,通过使用ApacheHadoop库,Mahout可以有效地扩展到云中。Taste是Mahout提供的一个个性化推荐引擎的高效实现,该引擎基于java实现,可扩展性强,同时在mahout中对一些推荐算法进行了MapReduce编程模式转化,从而可以利用hadoop的分布式架构,提高推荐算法的性能。Taste既实现了最基本的基于用户的和基于内容的推荐算法,同时也提供了扩展接口,使用户可以方便的定义和实现自己的推荐算法。Taste各组件工作流程原理如图:TasteTaste由以下几个主要组件组成:1、DataModel:DataModel是用户喜好信息的抽象接口,它的具体实现支持从任意类型的数据源抽取用户喜好信息。Taste默认提供JDBCDataModel和FileDataModel,分别支持从数据库和文件中读取用户的喜好信息。

2、UserSimilarity和ItemSimilarity:UserSimilarity用于定义两个用户间的相似度,它是基于协同过滤的推荐引擎的核心部分,可以用来计算用户的“邻居”,这里我们将与当前用户口味相似的用户称为他的邻居。ItemSimilarity类似的,计算内容之间的相似度。3、UserNeighborhood:用于基于用户相似度的推荐方法中,推荐的内容是基于找到与当前用户喜好相似的“邻居用户”的方式产生的。UserNeighborhood定义了确定邻居用户的方法,具体实现一般是基于UserSimilarity计算得到的。

4、mender:mender是推荐引擎的抽象接口,Taste中的核心组件。程序中,为它提供一个DataModel,它可以计算出对不同用户的推荐内容。实际应用中,主要使用它的实现类mender或mender,分别实现基于用户相似度的推荐引擎或者基于内容的推荐引擎。Mahout在单机基于用户和物品的协同过滤1、数据预处理在协同过滤之前,需要将数据进行预处理,我们简单的做法就是将四种行为:购买、点击、收藏、放进购物车根据重要性赋值,以五分为满分,赋值如下:购买=5,点击=0.3,收藏=2,购物车=2。对数据处理完之后即可进行协同过滤。基于用户(user-based)实现首先确定邻居数和推荐数,从文件中输入数据建立datamodel:2) 计算欧几里得距离相似度:3) 计算相似的邻居:4) 建立推荐器:5) 根据建立好的推荐器得到每个用户的推荐商品:finalstaticintNEIGHBORHOOD_NUM=4;//邻居数finalstaticintRECOMMENDER_NUM=5;//推荐数DataModelmodel=newFileDataModel(newFile(file));UserSimilarityuser=newEuclideanDistanceSimilarity(model);NearestNUserNeighborhoodneighbor=newNearestNUserNeighborhood(NEIGHBORHOOD_NUM,user,model);menderr=newmender(model,neighbor,user);List<mendedItem>list=mend(uid,RECOMMENDER_NUM);基于物品(item-based)实现1) 首先确定推荐数,从文件中输入数据建立datamodel:2) 计算内容相似度:3) 建立推荐引擎:4) 根据建立好的推荐器得到每个用户的推荐商品:finalstaticintRECOMMENDER_NUM=5;//推荐数DataModelmodel=newFileDataModel(newFile(file));ItemSimilaritysimilarity=newPearsonCorrelationSimilarity(model);menderr=newmender(model,similarity);List<mendedItem>list=mend(uid,RECOMMENDER_NUM);基于Hadoop的Mahout分布式开发基于Hadoop的Mahout分布式环境介绍Taste实现一个分布式的协同过滤推荐步骤:Mahout支持2种Map/Reduce的jobs实现item-Based的协同过滤,ItemSimilarityJob和menderJob。menderJob前几个阶段和ItemSimilarityJob是一样的,不过ItemSimilarityJob计算出item的相似度矩阵就结束了,而menderJob会继续使用相似度矩阵,对每个user计算出应该推荐给他的topN个items。menderJob的输入也是(userID,itemID,preferencevalue)格式的。如图是对menderJob的各MapReduce步骤的一个解读:基于Hadoop的Mahout分布式计算实现协同过滤ItemCF

menderJob封装了上面图中分布式并行的执行过程提纲电商大数据需求分析与方法概述基于规则统计模型的大数据分析方法基于协同过滤的大数据分析方法基于逻辑回归模型的大数据分析方法基于逻辑回归模型的大数据分析方法与实现Logisticregression(逻辑回归)用于估计某种事物的可能性。属于线性回归的一种。逻辑回归主要在流行病学中应用较多,比较常用的情形是探索某疾病的危险因素,根据危险因素预测某疾病发生的概率等等。LR模型中,通过特征权重向量对特征向量的不同维度上的取值进行加权,并用逻辑函数将其压缩到0~1的范围,作为该样本为正样本的概率。逻辑函数为:给定M个训练样本:其中Xj={xji|i=1,2,…N}为N维的实数向量(特征向量,本文中所有向量不作说明都为列向量);yj取值为+1或-1,为分类标签,+1表示样本为正样本,-1表示样本为负样本。在LR模型中,第j个样本为正样本的概率是:其中W是N维的特征权重向量,也就是LR问题中要求解的模型参数。求解LR问题,就是寻找一个合适的特征权重向量W,使得对于训练集里面的正样本,P(yj=1|W,Xj)值尽量大;对于训练集里面的负样本,这个值尽量小用联合概率来表示:对上式求log并取负号,则LR求解的目标函数为:寻找合适的W令目标函数f(W)最小,是一个无约束最优化问题,解决这个问题的通用做法是随机给定一个初始的W0,通过迭代,在每次迭代中计算目标函数的下降方向并更新W,直到目标函数稳定在最小的点。如图逻辑回归实现某电商网站大数据竞赛中LR三个步骤第一步构建训练集合,也就是标记一部分正样本和负样本数据,针对这个比赛来说就是找到一批前几个月和用户与之发生交互,并且下一个月购买了的行为作为正样本(一定要发生过交互),再找一批发生交互但下一个月没有购买的行为作为负样本(注意控制正负样本的比例)。第二步将这些采样的样本放入logisticregression的计算模型中得到相应特征对用户下个月行为的系数关系,这一步可以用现成的库去实现。第三步就是用这些系数关系来预测那些没有标记的行为会不会产生购买行为。特征值选取、训练集和测试集1)根据数据的特性选择特征,尽量选择一些重要性比较大的特征,例如在某电商网站大数据竞赛中,我们可以选择的特征为:(购买数,点击数,收藏数,放进购物车数,有操作的最近天数......)2)训练集包含了正样本和负样本,格式为:(target,特征1,特征2,特征3,....)。当target等于1时,样本为正,而当target为0时,样本为负。训练集样本如下表所示,五个特征是根据前三个月(4月15到7月15)的数据统计所得,target则是根据最后一个月(7月16到8月15)数据统计所得3)测试集中所有特征则根据所有月份数据统计所得,如下表样本所示,测试集的格式为:(用户ID,商品ID,特征1,特征2,…)计算LR系数关系将采集到的训练集数据代入到逻辑回归的计算模型中得到相应特征对用户下个月行为的系数关系,这一步可以用现成的库去实现。简单的系数关系如下图预测无标记行为将测试集,也就是无标记行为输入,通过上面计算得到的函数关系,对无标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论