项目简介源码地址 http://github.com/XuefengHuang/RecommendationSystem
基于Spark, Python Flask, 和 Book-Crossing Dataset 的在线图书推荐系统。
该图书推荐系统参考http://github.com/jadianes/spark-movie-lens。
修改数据处理部分,使其支持Book-Crossing Dataset。
适合初学者学习如何搭建一个推荐系统,本文底下附有其他数据,可供参考学习。
基于模型的协同过滤应用---图书推荐
本文实现对用户推荐图书的简单应用。推荐算法:
在我们的在线图书推荐系统中,我们借用Spark的ALS算法的训练和预测函数,每次收到新的数据后,将其更新到训练数据集中,然后更新ALS训练得到的模型。
假设我们有一组用户,他们表现出了对一组图书的喜好。用户对一本图书的喜好程度越高,就会给其更高的评分,范围是从1到5。我们来通过一个矩阵来展示它,行代表用户,列代表图书。用户对图书的评分。所有的评分范围从1到5,5代表喜欢程度最高。第一个用户(行1)对第一个图书(列1)的评分是4。空的单元格代表用户未给图书评价。

用户图书评分表.png
矩阵因子分解(如奇异值分解,奇异值分解+ +)将项和用户都转化成了相同的潜在空间,它所代表了用户和项之间的潜相互作用。矩阵分解背后的原理是潜在特征代表了用户如何给项进行评分。给定用户和项的潜在描述,我们可以预测用户将会给还未评价的项多少评分。

矩阵因子分解.png数据描述:评分数据文件:
"User-ID";"ISBN";"Book-Rating""276725";"034545104X";"0""276726";"0155061224";"5""276727";"0446520802";"0""276729";"052165615X";"3""276729";"0521795028";"6""276733";"2080674722";"0""276736";"3257224281";"8"
图书数据文件:
"ISBN";"Book-Title";"Book-Author";"Year-Of-Publication";"Publisher";"Image-URL-S";"Image-URL-M";"Image-URL-L""0195153448";"Classical Mythology";"

本文介绍了如何使用Python、Spark和Flask搭建一个在线图书推荐系统。项目参考了其他开源项目,针对Book-Crossing Dataset进行了数据处理,并采用Spark的ALS算法进行矩阵分解以预测用户评分。系统提供了API接口,用户可以通过GET请求获取推荐图书信息。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=113658320&d=1&t=3&u=3f4cc98fd4dc4fe2a99e6e8675946097)
3308

被折叠的 条评论
为什么被折叠?



