# python实现基于用户的协同过滤推荐算法和基于项目的协同过滤推荐算法 基于用户的协同过滤推荐算法和基于项目的协同过滤推荐算法实现原理、公式、思路在前文中已有介绍,本次不再详细描述。本文主要是使用python语言实现推荐算法,python语言有很多工具模块便于实现推荐算法,本文没有大量使用已有的机器学习模块,更多的是使用python的基础语法实现,注释详细,代码阅读性好,便于学习。

python版本3.8,movielens数据集,943个用户,1682部电影,8万条评分数据。

一、项目目录



python基于评分的协同过滤推荐_推荐算法


二、基于用户的协同过滤推荐算法

1、算法原理:构建用户项目评分矩阵、计算用户之间的相似度、得到目标用户的最近邻居、预测评分、推荐 2、读取评分数据,构建用户-项目评分矩阵


python基于评分的协同过滤推荐_相似度_02


3、用户-项目评分矩阵模块


python基于评分的协同过滤推荐_协同过滤_03


这个模块是保存用户项目评分数据,同时分析数据,打印输出分析结果 4、计算用户之间的相似度模块


python基于评分的协同过滤推荐_推荐算法_04


这个模块是计算用户之间的相似度,调用了余弦算法相似度模块 5、得到目标用户的最近邻居模块


python基于评分的协同过滤推荐_python 过滤相似图片_05


这个模块是相似度排序,找到前N个相似度最大的用户,也可以设置相似度阀值来判定最近邻居 6、预测评分、推荐模块


python基于评分的协同过滤推荐_python基于评分的协同过滤推荐_06


7、测评指标MAE模块


python基于评分的协同过滤推荐_推荐算法_07


8、运行结果


python基于评分的协同过滤推荐_推荐算法_08


python基于评分的协同过滤推荐_协同过滤_09


python基于评分的协同过滤推荐_python基于评分的协同过滤推荐_10


python基于评分的协同过滤推荐_相似度_11


python基于评分的协同过滤推荐_python 过滤相似图片_12


二、基于项目的协同过滤推荐算法

1、算法原理:构建用户项目评分矩阵、计算项目之间的相似度、预测评分、推荐 2、计算项目之间的相似度模块


python基于评分的协同过滤推荐_推荐算法_13


3、预测评分、推荐模块


python基于评分的协同过滤推荐_相似度_14


4、运行结果


python基于评分的协同过滤推荐_推荐算法_15


python基于评分的协同过滤推荐_python 过滤相似图片_16


python基于评分的协同过滤推荐_python 过滤相似图片_17