首页 / JAVA / 基于Java实现的商品推荐系统
基于Java实现的商品推荐系统
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了基于Java实现的商品推荐系统,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2773字,纯文字阅读大概需要4分钟。
内容图文
![基于Java实现的商品推荐系统](/upload/InfoBanner/zyjiaocheng/598/d9372961281f484cbe2f977a99684347.jpg)
源码及论文下载:
http://www.byamd.xyz/tag/java/
一、介绍
商品推荐是针对用户面对海量的商品信息而不知从何下手的一种解决方案,它可以根据用户的喜好,年龄,点击量,购买量以及各种购买行为来为用户推荐合适的商品。在本项目中采用的是基于用户的协同过滤的推荐算法来实现商品的推荐并在前台页面进行展示,我将会使用余弦相似度的度量方法来计算用户与用户之间相似性,最终将相似度较高的用户浏览的商品推荐给用户。
二、目标
- 商品推荐:根据不同用户之间的相似性来推荐给用户合适的商品
- 一级类目管理:管理一级类目的相关功能
- 二级类目管理:管理二级类目的相关功能
- 商品管理:对商品进行上架,下架,修改信息
- 管理员管理:管理管理员,用于商城后台的管理平台页面
- 商城会员管理:管理商城会员,对商城页面的会员进行管理
- 商城会员登录及注册:实现商城用户的登录功能以及注册功能
三、采用的技术
3.1 开发环境
- 操作系统:Windows8.1
- IDE:eclipse
- Java版本:1.8
- 数据库:mysql5.6.36
- 服务器:tomcat8
- 项目的构建工具:Maven
3.2 后台框架
-
spring-4.2.1
:轻量级的IOC和AOP的容器框架
- springMVC-4.2.1表示层框架,负责匹配请求,处理请求,返回视图
- mybatis-3.3.1建立与数据库的会话
- druid-1.1.16为监控而生的数据库连接池
四、推荐流程
五、界面
六、阶段性成果
6.1 用户相似度计算功能
以下为通过余弦相似度公式计算得出的用户与用户之间的相似度:
具体的代码实现见 shopping/recommendate/util/RecommendUtils.java。
1 2 0.9994891442833921 3 0.9510094685910491 4 0.61016991946945632 3 0.95149554552980992 4 0.61048178758052683 4 0.6408097907695536
6.2 余弦相似度的原理
在三角形中,cos30°=二分之根三,cos60°=1/2。很明显,cos30°相比于cos60°更接近于 1,可以看出角度越接近于 0°,对应的余弦值越接近于 1,构成这个角度的两条边也就越接近于重合,也就可以认为这两条边越相似。
在二维的平面向量中,两个向量之间夹角的余弦值公式为:
假设两个向量a,b的坐标分别为(x1,y1)、(x2,y2),所以最终可以化简为:
注:其中的x和y是两个不同的维度,在向量直角坐标系中可以认为是距x和y轴的距离,但是在实际的应用中,可以是把它理解为一个物体的任何一个可以衡量它与其他物体不同之处的属性…咳咳,还是说人话吧,在商品推荐中可以把向量 a 和向量 b 理解为两个不同的用户,把 (x1,y1) 理解为 a 用户对 x 商品的点击次数和对 y 商品的点击次数,再把对应的值带入上述公式即可求出两个用户之间的相似性,越接近于 1 ,说明两个用户的浏览行为越相似,就可以把一个用户浏览过的商品推荐给另一个没有浏览过该商品的用户,从而完成商品推荐。
设向量 A = (A1,A2,A3,…,An), B = (B1,B2,B3,…,Bn),推广到多维,公式为:
其中的 A1,A2,A3…就可以理解为该用户对不同的商品的点击量。
6.3 计算出要推荐给用户的二级类目
通过上一阶段对用户相似度之间的求解,可以获得与某个用户最相似的前N个用户,(假设需要被推荐商品的用户为X)然后在这N个用户的浏览记录中查找X没有浏览的类目,但是这N个用户浏览的二级类目的类目的id,作为推荐给用户的二级类目id。
具体的代码实现见 shopping/recommendate/util/RecommendUtils.java。
对用户的商品推荐
在上一个阶段确定了要推荐给用户的二级类目之后,找出每个类目下点击量最高的商品推荐给用户。
直观感受一下:
内容总结
以上是互联网集市为您收集整理的基于Java实现的商品推荐系统全部内容,希望文章能够帮你解决基于Java实现的商品推荐系统所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。