基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)

基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)

一、开发工具及使用技术

MyEclipse10、jdk1.7、movielens数据集。

二、实现过程

1、定义电影-用户评分矩阵。通过二维数组存放电影-用户评分数据,代码如下图:

基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)

2、计算电影之间的相似度。采用余弦算法计算电影之间的相似度,代码如下图:

基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)

3、定义推荐器。为目标用户推荐电影,推荐电影预测值=用户评分*相似度相加再除以相似度之和,代码如下图:

基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)

基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)

基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)

4、计算MAE。训练集数据数量0.8,测试集数据数量0.2,代码如下图:

基于项目的协同过滤推荐算法单机版代码实现(包含输出电影-用户评分矩阵模型、项目相似度、推荐结果、平均绝对误差MAE)

 

项目源代码:https://download.****.net/download/u011291472/11971298