目前商用的推荐机制都为混合式推荐,将用户属性、项目属性、用户操作行为、聚类算法、基于用户、基于项目、基于内容等混合推荐。本文主要介绍混合推荐的推荐原理、推荐过程、代码实现。
混合推荐可使用的数据包括:
1、用户属性:用户位置、用户性别、用户年龄等属性信息;
2、项目属性:项目类别、项目添加时间、项目内容等属性信息;
3、用户操作行为:用户评分、收藏记录、浏览记录、观看时长、购买记录等操作行为;
混合推荐方法可以是先将数据进行聚类(用户聚类、项目聚类等),可进行多次聚类,聚类算法常用的有KMeans聚类、Canopy聚类、KMeans+Canopy聚类、迷糊均值聚类等聚类算法,然后找到目标用户所在的簇,用簇中的项目或者用户进行推荐,推荐可根据多种操作行为分别推荐,然后将推荐的结果进行平均加权求和,需要提前设定每种推荐算法的权重,或者分别计算不同操作行为的用户或者项目的相似度,将相似度进行加权求和,然后再进行最后的推荐,相似度的计算可采用余弦算法、修正余弦算法、person皮尔森算法、欧几里得距离公式等算法,推荐机制可采用SlopeOne、SVD等。
总之,混合推荐算法比较灵活,适合自己的才是最好的。
本文的实现代码以movielens电影评分数据为例,java语言开发,实现了基于电影评分和用户属性的协同过滤混合推荐算法
下载地址:https://download.csdn.net/download/u011291472/11967745
该程序仅供学习和测试使用。
作者专业长期研究各种协同过滤推荐算法,欢迎留言、私信互相交流学习,后续会不断更新不同的协同过滤推荐算法,欢迎关注。