资料详情

基于Python实现并测试协同滤波算法 课程论文+源码及数据

头像

Python

编号:2048

实现并测试协同滤波算法

目录

机器学习与数据挖掘第四次实验报告

实现并测试协同滤波算法

目 录

一、问题简述

一 、问题简述

1.1 推荐系统问题

1.2 协同滤波算法

二 、协同滤波实现

三 、实验结果分析

四 、结论

一 、问题简述

1.1 推荐系统问题

推荐系统问题旨在用户推荐相关项目,项目可以是用户未观看过的电影、书籍,未访问过的网站,可以 是任何可以购买的产品,实现一种个性化的推荐。

推荐系统可以总结为以下模型:

其中, 是用户的集合, 是项的集合, 是用户对项评分的集合,并且是关于项的有序集。

推荐系统问题主要的问题为:如何为矩阵收集已知的评级,如何从已知的评级中推断未知的评级,如何  评估推断的好坏。收集评分可以通过显式收集用户的评分,也可以通过学习用户的行为预测评分;推断  未知评分可以使用基于内容、协同相关、基于隐因子(矩阵分解)、基于深度模型的模型甚至混合模型  等;评估推断的好坏时可以选择在评分表中划分一块区域用于测试,计算平方根误差(RMSE),Top K 的精确度等。

1.2 协同滤波算法

基于用户的协同滤波算法

第一步:读取用户-项的评分矩阵 。

第二步:跟据评分矩阵计算用户相似度矩阵  ,在计算相似度时我们选择皮尔森相关系数。我们可以将计算出的评分矩阵保存在文件中,以免下次重复计算。

第三步:假定我们要预测用户 给项 的评分。首先找到于目标用户最相似的 K 个用户

,并且这些用户对项 有评分记录,根据以下公式计算预测评分:

其中, 指用户 对项  的预测评分, 指用户 和用户 的相似度。