基于用户的协同过滤推荐算法WEB版代码实现

基于用户的协同过滤推荐算法WEB版代码实现

一、开发工具及使用技术

MyEclipse10、jdk1.7、tomcat7、jsp、servlet、javascript、jquery、bootstrap、mahout API、movielens数据集。

二、开发过程

1、InitListener监听器。项目启动后执行application监听器,主要用于读取u.item(电影信息)、u.user(用户信息),并保存在内存中(movielens数据集保存在项目中),便于后期使用,同时初始化用户的年龄和性别分类数据,用于首页网页展示分类统计信息。代码如下:

基于用户的协同过滤推荐算法WEB版代码实现

2、创建用户、电影实体类。将数据集文件中的用户、电影数据封装成java bean便于操作。代码如下:

基于用户的协同过滤推荐算法WEB版代码实现

 

基于用户的协同过滤推荐算法WEB版代码实现

3、CFUtil协同过滤推荐工具类。传统的基于用户的协同过滤荐算法主要分四步骤:构建用户-评分矩阵模型、计算用户之间相似度、得到目标用户最近邻居、推荐结果。使用mahoutAPI接口实现代码如下:

基于用户的协同过滤推荐算法WEB版代码实现

三、运行结果

1、项目首页,用户输入目标用户ID,和最近邻数量(也可以通过阀值确定最近邻居)

基于用户的协同过滤推荐算法WEB版代码实现

下图为根据用户信息分别统计数据集中性别分布和年龄分布:

基于用户的协同过滤推荐算法WEB版代码实现

2、推荐结果页面,展示目标用户ID,最近邻数量,推荐数量为系统默认10个,推荐结果展示电影ID、电影名称、发行时间、预测评分。

基于用户的协同过滤推荐算法WEB版代码实现

需用程序源代码的朋友可留言。