手把手教你如何搭建电影推荐系统
一、 SCALA开发环境部署
1、 安装用于scala开发的IntelliJ IDEA
2、 安装完成之后启动idea,登录 http://idea.lanyus.com/ ,获得注册码,并将注册码粘贴到图中空白处。
3、 安装scala插件,找到settings-plugins-install plugin from disk,找到本地需要安装的插件zip,然后再重启软件,即完成scala开发环境的搭建。
二、 Scala语言环境的部署
1、 将scala语言环境包放在c盘根目录
2、 然后新建变量SCALA_HOME,变量值为scala语言包的路径即 C:\scala
3、 再在系统环境变量path中,添加%SCALA_HOME%\bin.
4、 在cmd中输入scala验证是否安装好scala
三、 推荐系统定义
推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品。
四、 推荐系统原理
推荐模型
用户的角度 :帮助用户快速定位或检索自己想要的信息。
商家的角度 :通过推荐系统做个性化服务,提高用户信任度和粘度,增加营收。亚马逊每年百分之三十五的销售额来源于推荐。
推荐算法-协同过滤算法
通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。
协同过滤推荐算法分为两类:
- 基于用户的协同过滤算法
- 基于客户的协同过滤算法
算法优点:
- 基于用户行为,不需要先验知识。
- 只需要用户和商品关联矩阵,结构简单。
- 在用户行为丰富的情况下,效果好。
算法缺点:
- 需要大量的显性/隐性用户行为(显性是打分,隐性是点击、停留等)
- 需要通过完全相同的商品关联
- 假定用户的兴趣完全取决于之前的行为。
五、 推荐系统实例开发
1、 创建一个scala project
2、 项目配置,先将需要的依赖包拷贝到项目文件夹下面,并解压。然后找到如图所示的地方,把刚刚拷贝进去的依赖包加载进项目。
3、 在项目中添加具体应用文件,右键src,加入scala class
4、 编写代码
该项目的代码我已经上传我的github,就不在博客重复贴了,链接如下:
https://github.com/kokozeng/blog/tree/master/recommend
project/out 里有生成好的jar包,可以直接调用
project/src 有scala代码
/data 是本次实验用到的数据
5、 配置打包文件,然后进行build。
6、 将生成的jar包以及需要的数据用xftp传输到hadoop集群上
7、 通过xshell登录服务器,首先先配置环境变量,然后用hdfs dfs –put 和hdfs dfs –ls命令上传数据和检查是否上传了数据。
8、 进入spark目录运行如下命令:
bin/spark-submit --class org.myorg.Recommand --master yarn-client /home/gcs21760205/recommend/project.jar /user/gcs21760205/data/u.data /user/gcs21760205/data/u.item
9、 运行结果展示
PS:在实验过程中我一直recommend和recommand傻傻分不清,见谅见谅。如果大家需要源码解读和推荐系统算法解读可留言,我会补充。