20spark大数据技术与应用--04.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spark 大数据技术与应用 第十章 图书推荐系统 03 CONTENT 04 01 02 课前回顾 数据可视化概述 Django 项目搭建 1 、模型迁移 2 、管理界面 0 3 推荐引擎设计 推荐算法 目前主流的推荐算法主要包含内容关联算法 , 协同过滤算法。 内容关联算法 (Content-Based) 协同过滤算法 (collaborative filtering) Alternating Least Square ( ALS ) ALS 算法是 2008 年以来,用的比较多的协同过滤算法。它已经集成到 Spark 的 Mllib 库中,使用起来比较方 便。 从协同过滤的分类来说, ALS 算法属于 User-Item CF ,也叫做混合 CF 。它同时考虑了 User 和 Item 两个方面。 用户和商品的关系,可以抽象为如下的三元组: User,Item,Rating 。其中, Rating 是用户对商品的评分, 表征用户对该商品的喜好程度。 Pyspark 的 MLLIB 中 recommendation 模块 导入书籍数据 ALS 算法是基于模型的推荐算法。我们需要先导入数据。前面我们共建了三个数据表,用户表、书籍表和 用户点击表,其中书籍表需要我们自己导入,用户表 和 用户点击表需要我们自己创建数据。 书籍数据格式如下,有 55416 行 导入书籍数据 我们先编写数据上传的视图函数,在 home 文件夹的 views.py ,定义如下函数: def importBookData(request): if request.method==POST: file=request.FILES.get(file,None) if not file: return HttpResponse(None File uploads !) else: name= handle_upload_file(name,file) return HttpResponse(success) return render(request,utils/upload.html) handle_upload_file def handle_upload_file(name,file): path=os.path.join(settings.BASE_DIR,uploads) fileName=path+/+name print(fileName) with open(fileName,wb) as destination: for chunk in file.chunks(): destination.write(chunk) insertToSQL(fileName) insertToSQL def insertToSQL(fileName): txtfile=open(fileName,r) for line in txtfile.readlines(): try: bookinfo = line.split(,) id = bookinfo[0].decode().encode(utf-8) name = bookinfo[1].decode().encode(utf-8) rating = bookinfo[2].decode().encode(utf-8) price = bookinfo[3].decode().encode(utf-8) publish = bookinfo[4].decode().encode(utf-8) url = bookinfo[5].decode().encode(utf-8) try: bk_entry=book(name=name,price=price,url=url,publish=publish,rating=rating) bk_entry.save() except: print(save error+id) except: print(read error +id) 训练模型 训练模型需要我们提前拥有数据,数据格式如下: 用户 id 1035 1035 1044 1046 图书 id 1 2 1 1 点击次数 1 1 1 1 隐式训练模型 推荐系统中用户对物品的反馈分为显式和隐式反馈 显式反馈 ( 如评分、评级 ) 隐式反馈 ( 如浏览、点击、加入购物车 ) 隐式训练模型 隐式反馈的特点 没有负面反馈 隐式反馈包含大量噪声 隐式反馈表现的是用户的信任( confidence ) 隐式反馈非常难以量化 隐式训练模型 Pyspark 的 MLLIB 中 ALS 类有两个函数 class pyspark.mllib.recommendation.ALS train(ratings, rank,

文档评论(0)

jinzhuang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档