JAVA推荐系统

系统原理

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

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

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

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

公式定义为: 两个连续变量(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代码实现

软件架构

Spring boot单项目

安装教程

git下载源码

maven构建依赖

idea-java运行

使用说明

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

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

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

技术交流&问题反馈

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

联系QQ:1334512682

微信号:vxhqqh

千人千面算法java实现_推荐算法-recommend_system相关推荐

  1. 推荐算法python数据集_推荐算法数据集

    Movies Recommendation: MovieLens 基本内容: MovieLens数据集由GroupLens研究组在 University of Minnesota - 明尼苏达大学(与 ...

  2. 匈牙利算法java实现_匈牙利算法(Hungarian Algorithm)

    匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法.换句话说就是,在可以接受的时间内去做匹配. 1. 描述问题 给定2个集合A和B,然后将AB中的元素完成一个连线.(这不就是小时候的连线题么 ...

  3. l bfgs算法java代码_优化算法——拟牛顿法之L-BFGS算法

    一.BFGS算法 BFGS算法的校正公式: 利用Sherman-Morrison公式可对上式进行变换,得到 令 ,则得到: 二.BGFS算法存在的问题 在BFGS算法中.每次都要存储近似Hesse矩阵 ...

  4. 排序算法java源代码_排序算法汇总(java实现,附源代码)

    整理系统的时候发现了原来写的各种算法的总结,看了一下,大吃一惊,那时候的我还如此用心,具体的算法,有的已经模糊甚至忘记了,看的时候就把内容整理出来,顺便在熟悉一下,以后需要的时候就可以直接过来摘抄了. ...

  5. 排序算法java快速排序_快速排序算法--Java实现

    标签(空格分隔): 数据结构与算法 原理: 对于任意一个无序数组,我们随机的选一个元素作为基准元素(例如:数组中的最后一个或者第一个元素, 然后我们将数组中的剩余元素分别与基准元素进行比较,将小于或等 ...

  6. 神经网络算法 java 源代码_神经网络算法与实现 ——基于Java语言 代码实例

    [实例简介] Neural Network Programming with Java_ ISBN 978-7-115-46093-6 [实例截图] [核心代码] NeuralNetworkProgr ...

  7. 解读什么是千人千面算法、猜你喜欢、个性化推荐算法,

    引用 本文为作者个人的一些拙见进行整理后,对千人千面,智能推荐算法这套产品架构思维进行分析所写的文章,可能有所不足,还望各位进行指点 ,后面会写一篇关于怎么使用 ElasticSearch + Spa ...

  8. 解读千人千面,洞悉数据智能的价值

     本文根据神策数据业务咨询师潘书荟<数据智能打造"百人百态 & 千人千面">的主题演讲整理,从判断企业是否需要千人千面.如何实现千人千面以及效果追踪三大方面展开 ...

  9. 神策数据潘书荟:解读千人千面,洞悉数据智能的价值

    本文根据神策数据业务咨询师潘书荟<数据智能打造"百人百态 & 千人千面">的主题演讲整理,从判断企业是否需要千人千面.如何实现千人千面以及效果追踪三大方面展开. ...

  10. 解读千人千面,洞悉数据智能的价值(附ppt下载链接)

    本文根据神策数据业务咨询师潘书荟<数据智能打造"百人百态 & 千人千面">的主题演讲整理,从判断企业是否需要千人千面.如何实现千人千面以及效果追踪三大方面展开. ...

最新文章

  1. linux进程故障如何修复,33.Linux开机过程及启动故障修复
  2. Thinkphp5.0快速入门笔记(3)
  3. linux的目录proc pid,Linux /proc第一篇----/proc/pid记录了什么
  4. Python数据分析实战基础 | 初识Pandas
  5. 使用Google Cloud Platform分散您的应用程序
  6. mysql profile 导出_MySQL数据的导出和导入工具:mysqldump_MySQL
  7. css表格设置行列的颜色,CSS:为表格中的选定行设置颜色
  8. 只用一个marker 替换 高德_Android基于高德地图完全自定义Marker的实现方法
  9. ubuntu学习日记--Lesson5:系统目录详解
  10. 俄罗斯一款地图软件无意曝光300多个军事基地
  11. android手机解锁root,安卓手机root权限后,会解锁什么强大的功能?
  12. unity占用太多c盘空间
  13. 成都二手房长啥样 —— 基于链家数据
  14. 关于位运算符号的辨识及运用示例
  15. html实现读取读卡器,如何在web浏览器页面使用IC卡读卡器并且兼容所有浏览器
  16. 云服务器和真实服务器,个人网站主机选择原则 看配置也要看是不是有助于优化...
  17. Idea解决jar包冲突问题
  18. SQL sever 实现表行列互换
  19. 外环最低13000/平 虎年新春楼市成交排行榜
  20. LR-微信订车压力测试

热门文章

  1. 2021年中国异戊酰氯市场趋势报告、技术动态创新及2027年市场预测
  2. latex 显示黑色的点命令 black dot.
  3. QT菜单栏颜色与背景颜色设置
  4. 【论文阅读】AProNet: Detecting objects with precise orientation from aerial images
  5. RobotStudio码垛机器人创建过程
  6. 女大学生 你的青春值多少钱
  7. SitePoint播客#26:力量在于您
  8. 【C#】 .NET Reflector 安装与学习
  9. spring-cloud-starter-bus-kafka利用kafka消息总线实现动态刷新配置
  10. H.265中针对scc的工具 -- transformskip