推荐系统已应用于各种行业,例如电子商务,流服务和其他行业。推荐系统中使用了两种主要技术: 协作过滤 和基于内容的过滤。本文介绍了五本“ Jupyter”笔记本,它们基于使用 Spark FrameWork SVD 的协作过滤器构建了一个大型推荐系统 ,而另一本则使用了Amazon Sage Maker AutoEncode。使用的数据集拥有超过2800万用户评级。在本文中,显示并比较了这两种技术的最终结果,Spark SVD带来了更好的结果。
推荐系统中使用了两种主要技术: 基于用户以前的操作对推荐项进行协同过滤 。基于内容的过滤方法利用项目的特征,以便推荐具有类似属性的其他项目。可以使用这些技术中的一种,但是也可以将两者结合起来使用。
最常见的协作过滤技术涉及使用基于用户动作的相关矩阵,将每个用户与模型中的每个项目相关联。这种解决方案的最大问题是可伸缩性。在拥有数百万个用户和项目的系统中,您将产生具有数万亿个不易使用的单元的矩阵。为了克服这种问题,有一些技术可以减小矩阵的尺寸,还可以减小大型数据集的框架Spark的尺寸。
通常,在应用建议算法之前,您必须获取并准备数据集。通过搜索许多图书馆站点和社交网络页面并收集书籍的用户评分来获取所使用的数据集。第一个笔记本 SparJoinTable.ipynb 准备了要在社交过滤算法中使用的采集数据集。
所使用的数据集拥有超过200万用户和70万本书,这使得使用具有超过一万亿个像元的原始相关矩阵变得难以使用。第一步是应用降维 SVD 算法,图1表示SVD转换。
所述 SparkRecomendation.ipynb 笔记本中使用的火花框架应用SVD以减少矩阵的维数。结果,同一模型以密集形式表示。请注意,在这个新的向量空间中,相关的书籍或用户应该彼此靠近。图2显示了SVD尺寸缩小后某些书的位置。有可能看到相关项目彼此靠近。1和3是古典书籍,0和4是自助书籍。但是,在某些示例中,预期结果不是使用常识时所期望的结果。2和5是关于哲学的书,彼此之间并不接近。也许是因为一种对于普通读者而言更多,而另一种对于专业人士而言。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!


雷达卡



京公网安备 11010802022788号







