java千面编程_推荐算法-recommend_system

JAVA推荐系统

系统原理

该系统使用java编写的基于用户的协同过滤算法(UserCF)

利用统计学的相关系数经常皮尔森(pearson)相关系数计算相关系数来实现千人千面的推荐系统。

协同过滤推荐算法是诞生最早,并且较为著名的推荐算法。主要的功能是预测和推荐。算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法(user-based collaboratIve filtering),和基于物品的协同过滤算法(item-based collaborative filtering)。简单的说就是:人以类聚,物以群分。

皮尔森(pearson)相关系数公式

a92a8a2f58be59122c3337e07f1eef22.png

公式定义为: 两个连续变量(X,Y)的pearson相关性系数(Px,y)等于它们之间的协方差cov(X,Y)除以它们各自标准差的乘积(σX,σY)。系数的取值总是在-1.0到1.0之间,接近0的变量被成为无相关性,接近1或者-1被称为具有强相关性。

通常情况下通过以下取值范围判断变量的相关强度:

相关系数 0.8-1.0 极强相关

0.6-0.8 强相关

0.4-0.6 中等程度相关

0.2-0.4 弱相关

0.0-0.2 极弱相关或无相关

java代码实现

b12f91ca7865f5f7ed2ee98eac713afa.png

软件架构

Spring boot单项目

安装教程

git下载源码

maven构建依赖

idea-java运行

使用说明

找到 src / main / java / com / tarzan / recommend / Service / Recommend.java 右键java 运行

c4d6eb40c196252b104005757c98178c.png

找到FileDataSource类,将文件路径改为你本地的目录

2d34a1ca34cafc5399caa34f00a1e916.png

文件ml-100k 在 src / main / resources目录下

技术交流&问题反馈

刚刚整理的代码还有很多不足之处,如有问题请联系我

联系QQ:1334512682

微信号:vxhqqh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值