文章目录

  • 0 项目说明
  • 1 研究目的
  • 2 研究方法
    • 2.1 传统推荐算法
    • 2.2 基于LightGBM决策树模型的推荐算法
  • 3 研究结论
  • 4 项目源码

0 项目说明

基于大数据个性化音乐推荐算法分析

提示:适合用于课程设计或毕业设计,工作量达标,源码开放

获取项目源码:https://download.csdn.net/download/Seniors_DC/85593170


1 研究目的

音乐推荐算法,就是针对音乐自身的内容特征以及用户的听歌行为,为广大用户提供可能符合他们兴趣爱好的歌曲的算法。而基于大数据的个性化音乐推荐算法,能够通过历史数据,别的用户的历史数据分析出潜在的喜好相似性,为用户更准确地挖掘出潜在的喜欢的音乐。

1995年,Ringo算法的开发成就了历史上第一个推荐算法,可以向用户推荐他们喜欢的音乐并预测用户对特定音乐的评分,之后一段时间内,音乐推荐都是基于音乐曲目的基本信息产生,缺乏针对性。国外著名网站Pandora和Last.fm是最早提出音乐个性化推荐的网站。Pandora的音乐推荐算法主要来源于音乐基因工程(music gene)的项目,根据这些基因计算歌曲的相似度,给用户推荐基因相似度高的音乐。国内也涌现了一些优秀的音乐推荐网站如豆瓣电台、虾米音乐、网易云音乐等等,根据用户平时推荐给好友的歌曲,听歌行为以及歌曲收录信息,找到“相似的品味者”,更好的做出推荐。

本文针对传统基于用户或者基于物品的协同过滤推荐方法在复杂场景下对用户进行音乐推荐占用内存大计算速度慢等缺点,提出一种基于LightGBM决策树算法的音乐推荐算法,使用相关性分析和稳定性选择中的随机逻辑回归进行特征选择,采用数值特征取代个体特征进行用户对音乐的喜好预测,根据不同的候选集,可以形成不同推荐列表。采用kkbox音乐公司公布在Kaggle比赛平台上的用户、音乐、用户操作信息进行验证,预测准确率高达76%,训练时间9min,优于该比赛第一名用户算法的准确率68.4%。采用的算法模型可拓展性强,计算效率高,占用内存小,可以迁移到其它类型的推荐系统中。

2 研究方法

2.1 传统推荐算法

传统的推荐系统方法包括基于内容推荐过滤、基于规则的推荐、协同过滤推荐。

基于内容的过滤推荐根据物品的元数据,计算物品的相似性,然后基于用户的历史行为推荐给用户相似的物品;基于规则的推荐常使用于电子商务系统,大量的交易数据中获取关联规则或者按照时间购买商品的序列模型,进行物品之间的相互推荐;协同过滤包括基于用户的协同过滤和基于物品的协同过滤;基于用户的协同过滤通过分析用户历史行为,计算用户之间相似度,利用用户相似度和用户的历史行为给用户形成推荐列表。基于物品的协同过滤与之类似,分析用户行为计算物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。

2.2 基于LightGBM决策树模型的推荐算法

决策树算法的发展过程从C3.0(基于信息增益) CART(基于基尼系数) 提升树(AdaBoost) 梯度提升树(GDBT) XGBosot LightGBM算法。

基于决策树模型的推荐算法具有以下优点:(1)可以并行化训练;(2)能够处理离散连续特征值和类别特征,不用对特征做归一化;(3)能够处理缺失值;(4)可以处理高维特征。
LightGBM(Light Gradient Boosting Machine)是2017年8月微软公司开源的基于决策树算法的分布式梯度提升框架,和之前的提升框架相比有更快的训练效率,更低的内存使用,更高的准确率,支持并行化学习,可以处理大规模数据等优点,可以用于排序,分类和许多其他机器学习任务。
Boosting算法(提升法)指的是迭代算法,核心思想是对训练样本进行k次迭代,每次迭代形成一个弱学习器,然后根据学习误差对分类错误的样本加大训练权重,形成新的带有权重的训练集,训练形成新的弱学习器;最后将这些弱学习器根据结合策略形成一个强学习器。

此外LightGBM利用Histogram的决策树算法,先把连续的浮点特征值离散化为k个整数,构造一个宽度为k的直方图,如图2.2所示,遍历数据时,根据离散化后的值作为索引在直方图中累积统计量,然后根据直方图的离散值,遍历寻找最优的分割点。使用直方图算法因为只保存特征离散化后的值,内存消耗可以降低为原来的1/8左右;此外计算的成本也大大降低,因为预排序算法每遍历一个特征值就需要计算一次分裂的增益,而直方图算法只用计算k(k为直方的个数),时间复杂度从从O(datafeature)优化到O(kfeatures)。

和Xgboost采用level-wise策略相比,LightGBM采用更高效Leaf-wise策略(如图2.3所示),每次从当前所有叶子中,找到分裂增益最大的一个叶子,然后分类,如此循环,和Level-wise相比,分裂次数相同的情况下,可以降低更多的误差,获得更高的精度。同时LightGBM可以通过最大深度的限制防止过拟合。

并且最新的LightGBM可以自动处理缺失值,可以进一步优化类别特征(Categorical Feature),不再使用类似one-hot coding的分割方式,对于类别数量很多的类别特征采用one-vs-other的切分方式长出的不均衡的树,采用many-vs-many的切分方式,寻找最优分割。

3 研究结论

本文采用新的ligthgbm算法对用户是否会在一个月内重复收听某一首歌曲进行预测,以此作为个性化推荐的目标。通过分析数据特征,使用相关性以及稳定性选择等方法选择特征,随后通过对训练输入数值特征,分类特征和全部特征的性能比较,创新性选择用数值特征完全取代分类特征去训练模型进行预测,使得模型在有效性和准确性上都有稳定的提升,对于其余需要再分类特征上建模的实验具有参考意义。



由图二可知,对于同一个用户,设置不同的候选集,可以有不同的推荐列表,支持音乐服务商使用多种推荐方式,也可以综合多个候选集,建立混合推荐的推荐列表。

由图三可知,对于不同用户,因为其它用户特征的不同,对于相同的候选集,也可以生成不同的推荐列表,符合个性化推荐的要求。

4 项目源码

获取项目源码:https://download.csdn.net/download/Seniors_DC/85593170

【毕业设计/课程设计】基于大数据个性化音乐推荐算法分析相关推荐

  1. 【毕业设计_课程设计】基于大数据个性化音乐推荐算法分析

    文章目录 0 前言 1 研究目的 2 研究方法 2.1 传统推荐算法 2.2 基于LightGBM决策树模型的推荐算法 3 研究结论 4 最后 0 前言 基于大数据个性化音乐推荐算法分析 提示:适合用 ...

  2. 基于大数据个性化音乐推荐算法分析(附代码github地址)

    github网址:https://github.com/ciecus/music_lgb_recommend_kkbox 欢迎fork我,和我讨论呀~ 摘  要:音乐推荐算法针对当今时代信息过载的问题 ...

  3. 毕业设计 题目:基于大数据的共享单车数据分析

    文章目录 0 前言 1 项目背景 2 项目分析思维导图 3 项目分析具体步骤 3.1 读取数据 3.2 数据分析 3.1.1 数据预处理--每日使用量分析 3.1.2 连续7天的单日使用分析结论 3. ...

  4. 毕业设计 - 题目:基于大数据的信用卡欺诈检测

    文章目录 0 简介 1 数据集 2 分析流程 3 数据预览 3.1 数据浏览 3.1.1 查看数据分布 4 数据规范化 4.1 amount特征缩放并去除time字段 4.2 解决样本不均衡问题 5 ...

  5. 精准营销服务平台设计-基于大数据和AI的商业智能平台

    精准营销服务平台是指通过互联网采集大量的行为数据,首先帮助广告主找出目标受众,以此对广告投放的内容.时间.形式等进行预判与调配,并最终完成广告投放的营销过程. 用户可按需要在桌面或移动端自主选择媒体渠 ...

  6. 基于大数据的音乐数据中心平台(附:源码 课件 项目部署文档)

    项目介绍 音乐数据中心数仓综合项目主要是针对公司过去收集到的用户点播.购买音乐等数据(包括业务数据与用户行为数据),为公司业务更健康的发展提供决策服务支持(BI商业决策). 数据中心项目中包含业务系统 ...

  7. 大数据课程设计python_大数据Python编程设计

    本课程不局限某个专业和学历层次,需要一些程序设计的基本概念如计算机求解问题的框架和一些如素数判断这样的基本算法,缺少上述基础的同学不用太担心,在上课过程中根据课程自己进度补充相关知识并多多进行编程练习 ...

  8. 毕业设计 - 题目:基于大数据的用户画像分析系统 数据分析 开题

    文章目录 1 前言 2 用户画像分析概述 2.1 用户画像构建的相关技术 2.2 标签体系 2.3 标签优先级 3 实站 - 百货商场用户画像描述与价值分析 3.1 数据格式 3.2 数据预处理 3. ...

  9. 基于大数据平台的毕业设计01:基于Docker的HDP集群搭建

    前言 好多人问我,这种基于大数据平台的xxxx的毕业设计要怎么做.这个可以参考之前写得关于我大数据毕业设计的文章基于大数据平台的毕业设计.这篇文章是将对之前的毕设进行优化. 个人觉得可以分为两个部分. ...

  10. 基于大数据的餐饮推荐系统总结

    0. 说明 由于原先自己搭的博客系统出问题了,故将其中有价值的内容迁移出来,并对文章进行更新. 发现博客园的文章不能置顶,所以又把它以随笔的形式再写一份. 原文链接: 基于大数据的餐饮推荐系统总结 可 ...

最新文章

  1. iOS自动布局-VFL格式约束
  2. Ehcache学习笔记(一)基础入门
  3. mysql传参数 和 区别_mybatis中#{}和${}传参方式的区别
  4. python的爬虫库_python做爬虫常用库
  5. 第三方登录如何给前台返回token_如何设计优雅的第三方账号登录?
  6. 注意| .NET开发者大会防疫须知 !
  7. html中使用静态图片做一个csdn网站的首页
  8. linux--安装完qt出现 /usr/bin/ld: error: cannot find -lGL错误
  9. 问题 F: 成绩统计
  10. 滴滴怒怼美团;阿里麻吉宝刷屏;B站、爱奇艺上市 | CSDN 极客头条
  11. setsockopt用法详解
  12. MES系统是什么?MES系统的主要功能是什么?看完本文就知道
  13. word文档中怎么输入公式符号
  14. dxf制作kml_kml到dxf
  15. 运筹优化学习08:Repairing MIP infeasibility through local branching
  16. 高性能`锁库存`/`释放库存`重构实战
  17. VBox 启动虚拟机失败 - NtCreateFile(\Device\VBoxDrvStub)
  18. 低代码平台和专业开发人员——完美搭档?
  19. OneTab和BdTab的标签管理对比
  20. 洛必达法则的一种极简证明

热门文章

  1. bt porting
  2. Audio Driver 架构
  3. delphi2010安装
  4. 锐捷客户端在Linux下的使用。
  5. 关于VS编译的程序内存分配只能用1.5~2G上限的优化方案
  6. jQuery倒计时进度条
  7. 暴风影音 去广告 方法
  8. 2021年系统集成项目管理工程师资料下载
  9. NeatUpload IIS6.0注册问题
  10. ssm共享图书管理系统毕业设计-附源码151121