1、django框架

2、推荐算法模型

  • 思路:采用SVD+LightGBM模型,将SVD(奇异值)分解所得到的用户特征矩阵和新闻特征矩阵的基础上,结合用户在新闻网站上的操作行为等特征数据,构建基于LIghtGBM的新闻评分预测算法及新闻推荐系统。

关键操作

一、算法中引入用户偏好的时间指数修正模型(以音乐网站为例)

在实际生活中,人们的兴趣与行为偏好并不是一成不变的,而是随着时间与环境的变化而发生相应地改变,以音乐推荐为例,假设用户A在2018年之前更偏好爵士乐,收听音乐渠道主要来自本地音乐库,而从2018年开始,该用户收听摇滚音乐的数据在不断增多,而来自“私人电台”收听渠道歌曲占比也在不断上升,那么我们就可以推测,如果从电台渠道为这位用户推荐摇滚音乐,用户对推荐歌曲的接受程度也就更高。传统的推荐算法在向用户进行推荐时并没有考虑到时间因素对用户偏好的影响,推荐结果不具有较强的时效性,因此本文把用户行为中的时间因素考虑进来,为用户偏好构建时间指数修正模型,确保推荐系统能及时察觉到用户兴趣的变化。

时间指数修正模型由时间衰减函数来决定,如公式1所示:

公式中,,如果用户最主要的行为距离当前时间越近,表明用户感兴趣的可能性越大,如果距离当前时间越远,则表明用户感兴趣的可能越小。在歌曲推荐中,时间衰减函数主要应用在特征工程构建环节,用户在各项指标上的行为频次或占比如果距离当前时间越近,权重会越大;如果距离当前时间越远,权重越小

假设,一个用户在2016年注册并开始使用某一音乐服务网站,并且该用户只收听过摇滚乐与爵士乐,这两类歌曲的评分一致,但主要收听时间范围有所不同,收听歌曲占比如下所示:

从上表中可以看到,与爵士乐相比,摇滚乐的主要收听时间距离推荐时间较远,因此在加入时间因子后,摇滚乐歌曲的评分评分降幅要大于爵士乐,这说明时间指数修正模型能够很好地捕捉用户近期的行为偏好。

用户偏好等数据经过时间指数修正后,将应用到LightGBM算法的歌曲评测中。

在实际应用中,我们将算法部署在离线处理与在线计算两大模块上。在离线阶段执行SVD算法的复杂运算,减少响应时间;在在线处理阶段执行LightGBM算法,通过加权融合的方式产出最终的推荐列表,提高系统的时效性。在此基础上,用户对推荐列表的反馈也会被记录到数据库中,推动模型不断进行迭代优化,提升算法的推荐性能。

模型加权比例:基于SVD的预测评分和基于LightGBM的预测评分将以不同的权重进行组合,得到最终的SVD-LightGBM模型预测结果。当=0,=1时,预测结果为SVD算法的预测评分;当=1,=0时,为LightGBM算法的预测评分。为了合理确定的值,经过测试确定=0.9,​=0.1​​​​​​​​​​​​​

3、推荐系统生成

将训练的模型部署在django框架中,经过测试从模型预测开始到新闻列表的展示过程耗时在3s左右。

django部署机器学习模型---搭建新闻推荐系统相关推荐

  1. django settings 定义的变量不存在_使用Django部署机器学习模型(1)

    介绍 机器学习(ML)应用的需求正在不断增长.许多资料显示了如何训练ML算法.然而,ML算法分为两个阶段: 训练阶段--在这个阶段,基于历史数据训练ML算法, 推理阶段--ML算法被用于计算对未知结果 ...

  2. Django零基础部署机器学习模型(将模型预测打包成API接口/网页URL)

    Django零基础部署机器学习模型 Django REST framework项目创建 框架结构了解 部署代码 Django REST framework项目创建 建立一个项目文件夹,使用VScode ...

  3. 手把手教你使用Flask轻松部署机器学习模型(附代码链接) | CSDN博文精选

    作者 | Abhinav Sagar 翻译 | 申利彬 校对 | 吴金笛 来源 | 数据派THU(ID:DatapiTHU) 本文旨在让您把训练好的机器学习模型通过Flask API 投入到生产环境  ...

  4. 独家 | 手把手教你如何使用Flask轻松部署机器学习模型(附代码链接)

    作者:Abhinav Sagar 翻译:申利彬 校对:吴金笛 本文约2700字,建议阅读7分钟. 本文可以让你把训练好的机器学习模型使用Flask API 投入生产环境. 本文旨在让您把训练好的机器学 ...

  5. 机器学习模型部署_9月版部署机器学习模型

    机器学习模型部署 每月版 (MONTHLY EDITION) Often, the last step of a Data Science task is deployment. Let's say ...

  6. 只需10分钟!就能用Flask,Docker和Jenkins部署机器学习模型

    在生产环境中部署机器学习模型是数据工程中经常被忽视的领域.网上的大多数教程/博客都侧重于构建.训练和调整机器学习模型.如果它不能用于实际的预测,那么它又有什么用呢? 接下来了解一下有哪些部署选项吧: ...

  7. flask 部署_只需10分钟!就能用Flask,Docker和Jenkins部署机器学习模型

    摘要: 一杯茶的功夫部署完成机器学习模型! 在生产环境中部署机器学习模型是数据工程中经常被忽视的领域.网上的大多数教程/博客都侧重于构建.训练和调整机器学习模型.如果它不能用于实际的预测,那么它又有什 ...

  8. 机器学习 部署 嵌入式_如何在移动和嵌入式设备上部署机器学习模型

    机器学习 部署 嵌入式 介绍 (Introduction) Thanks to libraries such as Pandas, scikit-learn, and Matplotlib, it i ...

  9. Azure机器学习模型搭建

    Azure机器学习模型搭建 Azure Machine Learning(简称"AML")是微软在其公有云Azure上推出的基于Web使用的一项机器学习服务,机器学习属人工智能的一 ...

最新文章

  1. linux svn可视化,Ubuntu 14.04如何安装可视化SVN
  2. opencv 读取位置 0xFFFFFFFFFFFFFFFF 时发生访问冲突
  3. 箱形图适用于哪种数据_盘点 | 十分钟进阶Excel数据可视化
  4. C语言学习之输出10个整数中的最大值及其下标、最小值及其下标
  5. python findall函数_python正则表达式之中的findall函数是什么?
  6. 高通写号工具_高通推出桌面平台新ARM处理器并认为我们的电脑性能没必要那么高...
  7. 服务化改造的云上利器 | 阿里云 EDAS 重大升级发布
  8. Python这个超炫的黑科技,可全网爬取各种资源,建议收藏!!
  9. 可爱的python测试开发库及项目(python测试开发工具库汇总)
  10. 删除节点命令removeNode
  11. Python基础教程笔记——列表和元组
  12. html5新标签笔记,HTML5新标签学习笔记
  13. 关于安装QCAT/QXDM异常的问题
  14. linux系统svn安装教程,Linux下SVN安装配置
  15. 2012-7-06可樂词汇积累#9313;
  16. Deep learning for arts——王乃岩(图森科技)
  17. 求一元二次方的根(虚根求法)
  18. Word2016 显示批注
  19. idea 运行项目显示 Command line is too long. Shorten command line for
  20. 看网易云音乐安卓客户端使用到的技术

热门文章

  1. 备份和导出的区别_如何在Android上手动导出和备份联系人
  2. ESP8266微信一键配网smartconfig,esp32可用
  3. 连接WiFi需要短信验证怎么做?
  4. 关于MediaCoder使用过程问题整理
  5. 通俗易懂的主成分分析法(PCA)详解
  6. Coolpad 大神F2 全网通版root尝试过程
  7. html格式存放到mysql_HTML格式:MySQL还是PHP?
  8. 道路测量xy坐标表示什么_UG NX后处理探测技术(测头在线测量)
  9. 主机电源全是黑线怎么短接_台式电脑电源高手维修,短接绿黑线风扇转一下就停。...
  10. 【梳理】【失效链接已于2020-09-27替换】(离散数学 第2版 屈婉玲、耿素云、张立昂 高等教育出版社)第19章 初等数论 结论归纳与证明(度盘)