基于内容和用户画像的推荐
<a href="http://www.rowkey.me/blog/2016/04/07/up-recommend/" target="_blank" rel="noreferrer" style="box-sizing: border-box; color: rgb(130, 182, 74); text-decoration: none; font-family: Helvetica, Tahoma, Arial, "Hiragino Sans GB", "Microsoft YaHei", 微软雅黑, SimSun, 宋体, Heiti, 黑体, sans-serif; font-size: 16px;">http://www.rowkey.me/blog/2016/04/07/up-recommend/</a>
基于矩阵分解的推荐
基于SVD/ALS算法对用户进行内容推荐(相比起SVD,ALS更加适合解决稀疏矩阵的问题)
Spark mlib中已经集成了对als算法的实现,需要做的就是在etl-1中把数据转换为als需要的数据格式以及调整als算法的各种参数
<a href="http://colobu.com/2015/11/30/movie-recommendation-for-douban-users-by-spark-mllib/" target="_blank" rel="noreferrer" style="box-sizing: border-box; color: rgb(130, 182, 74); text-decoration: none; font-family: Helvetica, Tahoma, Arial, "Hiragino Sans GB", "Microsoft YaHei", 微软雅黑, SimSun, 宋体, Heiti, 黑体, sans-serif; font-size: 16px;">http://colobu.com/2015/11/30/movie-recommendation-for-douban-users-by-spark-mllib/</a>
用户&物品协同过滤推荐
包括UserBased CF和ItemBased CF
对于这两者,需要根据业务的不同来选择不同的算法
当用户非常多的时候,考虑到维护用户矩阵的成本,一般是不推荐选择用户协同过滤的
而对于候选item很多的时候,则不推荐使用物品协同过滤