/Chinese-Spark-movie-lens

基于Spark、Python Flask和MovieLens dataset的在线电影推荐系统

Primary LanguageJupyter Notebook

Chinese-Spark-movie-lens

基于Spark、Python Flask和MovieLens dataset的在线电影推荐系统

项目简介


基于Spark和Flask实现一个可扩展的在线电影推荐系统

这个Apache Spark教程将指导您逐步了解如何使用Spark的Alternating Least Saqures(交替最小二乘法,ALS)实现的协同过滤来基于MovieLens数据集构建电影推荐系统。这个教程分为两部分。第一部分是关于加载和解析电影和评分数据进入到Spark RDDs。第二部分是构建和使用这个推荐系统并且在线持续的使用它。

可以单独使用本教程构建基于MovieLens数据集的影片推荐模型。第一部分中关于如何将ALS与MovieLens数据集一起使用的大多数代码来自我对 CS100.1x Introduction to Big Data with Apache Spark by Anthony D. Joseph on edX 中提出的练习题之一的解决方案,该解决方案自2014年起在Spark Summit上公开发布。从那时起,我添加了一些小修改已使用更大的数据集,然后编写有关如何存储和重新加载模型以供以后使用的代码,最后使用Flask进行Web服务。

在任何情况下,此算法与此数据集的使用并不是新的,这是因为我们强调最终会在在线的环境中使用模型,以及如何在不同的情况下使用它。但我真的受到了解决该课程中提出练习的启发,我强烈建议你学习它。在那里你将学习到不仅有ALS,还有许多其它的Spark算法。

本教程的第二部分是解释如何使用Python/Flask在Spark模型之上构建Web服务的部分。 通过这样做,您将能够开发完整的在线电影推荐服务。

快速开始

// 首先要进入Spark安装目录中的bin文件夹中
D:\spark\spark-2.3.3-bin-hadoop2.7\bin\spark-submit server.py

相关内容


关注隐式反馈

探索了一些隐式反馈做推荐的方法。

  1. 为什么一定要重视隐式反馈? | GitHub
  2. 使用矩阵分解找到相似歌曲
  3. PySpark推荐模型之基于隐式反馈的矩阵分解ALS

关注微信公众号交流

微信公众号