# CF-project
基于协同过滤算法的项目(未完成)
该项目在之前的纷享app项目的基础之前上进行改进,去除文章部分模块,添加推荐模块
该算法分别使用基于用户、基于物品两种方式进行实现(现只展示两种方法的工具类)
# 推荐模块:
数据库方面
* 添加用户行为表:用于记录用户对商品的商品的点击、是否收藏、分享次数等,用于计算用户相似度、物品相似度
* 添加用户相似度表:用于记录已经计算好的用户相似度,以提升系统性能
* 添加物品相似度表:用于记录已经计算好的物品相似度,以提升系统性能
后台代码实现
`基于用户的协同过滤`
* 使用Map数据结构,将用户与其对应的行为数据构造成矩阵,进行相似度计算(相似度计算为余弦相似度公式)
![image](https://user-images.githubusercontent.com/33857411/109535459-8c0b6580-7af7-11eb-851b-7784d037a11d.png)
* 设向量 A = (A1,A2,A3,...,An), B = (B1,B2,B3,...,Bn),推广到多维,公式为:
![image](https://user-images.githubusercontent.com/33857411/109535600-b8bf7d00-7af7-11eb-8760-69c76ef92ff9.png)
其中的 A1,A2,A3...就可以理解为该用户对不同的商品的点击量。(这里将使用数据归一化,将其转化为五分值,好进行比较)
`基于物品的协同过滤`
* 基于物品的协同过滤算法,主要是根据这个公式
![image](https://user-images.githubusercontent.com/33857411/109537185-94fd3680-7af9-11eb-81a8-7a232ff80a26.png)
这里N(u)表示用户u喜欢的物品列表,S(j,k)表示和物品j最为相似的k个物品,Wji表示物品j和物品i的相似度,rui表示用户u对物品i的喜欢程度所以,只要得到Wji和rui就可以得到推荐列表
* 物品的相似矩阵,这里采用的公式是
![image](https://user-images.githubusercontent.com/33857411/109537494-e5749400-7af9-11eb-8f12-24641605cda3.png)
其中分母 |N(i)| 是喜欢物品 i 的用户数,分母 |N(j)| 是喜欢物品 j的用户数,而分子 |N(i) ∩N(j)| 是同时喜欢物品 i 和物品 j 的用户数
a代表权重,这里取a=0.5
没有合适的资源?快使用搜索试试~ 我知道了~
基于协同过滤算法的项目.zip
共3个文件
java:2个
md:1个
需积分: 5 0 下载量 150 浏览量
2024-05-19
21:56:39
上传
评论
收藏 7KB ZIP 举报
温馨提示
协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。
资源推荐
资源详情
资源评论
收起资源包目录
基于协同过滤算法的项目.zip (3个子文件)
content
RecommendUtilsByUser.java 20KB
RecommendUtilsByitem.java 6KB
README.md 2KB
共 3 条
- 1
资源评论
生瓜蛋子
- 粉丝: 3828
- 资源: 5678
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功