关闭

阿里音乐流行趋势预测大赛一起做-(3)思路

标签: 阿里音乐预测天池大赛
5844人阅读 评论(3) 收藏 举报
分类:

最近几个月忙着写论文,比赛给抛到脑后了(汗颜。。)。昨天阿里给了短信通知,说今天可以提交成绩了,于是抓紧搞起,结果也没赶上截止时间(早上10点)提交。无论如何今天也要提交一次成绩试试水。比赛的详细思路其实我也没怎么想好,有一些初步的想法和实践分享一下。

思路

我的想法比较简单,就是先用最简单的方法做一下,提交一次成绩,让自己有参与感,然后在后续不断的迭代更新中提升自己。我们采用倒推方式,首先从提交结果出发开始分析:
1、需要提交的结果如下:
这里写图片描述
要预测该表要求的60天数据,首先要将artist_id(表mars_tianchi_songs),Plays(表mars_tianchi_user_actions),Ds(表mars_tianchi_user_actions)统一到一个表中。
2、下一步就是,如何统一?
表mars_tianchi_songs和表mars_tianchi_user_actions有相同的一个列名就是song_id。所以可以将该列名作为key(键值)进行合并。这一步操作可以通过pandas (Python Data Analysis Library)中的merge函数实现。仔细观察后发现两个表的song_id行数不相等,不能直接合并,下一步就是对表做预处理使其能够合并。
3、如何对表做预处理?
歌曲艺人表mars_tianchi_songs是以10842首歌为index的,共有10843行(第一行为列名),基本不需要做预处理。该表部分内容如下:
这里写图片描述
用户行为表mars_tianchi_user_actions很大,接近500M,总共5652233行,所以必须做数据聚合。该表部分内容如下:
这里写图片描述
用户行为表有很多列,我们在此考虑最简单情况,只使用song_id, action_type, Ds三列。其中action_type中包含播放,下载和收藏三种情况,我们需要将该变量做成哑变量分离,也就是说最后自己处理后的用户行为表(暂且命名为my_user_actions)最后的列包含:
song_id, Ds, play_num, download_num, collect_num
其中后面的play_num, download_num, collect_num分别表示该song播放,下载和收藏的次数。然后表mars_tianchi_songs和表my_user_actions可以以song_id为key进行merge。假设merge后的表名为merge_data。那么该表内容应该如下:
这里写图片描述
到此已经非常接近于要提交结果的格式了。
4、下一步就是利用机器学习算法进行预测了。在此推荐先用时间序列分析相关算法。可以用python,R或者weka来做。

工具说明

不同的软件和语言各有其优势,以下是个人看法:
1、数据预处理阶段
该阶段推荐使用Python pandas,可以比较方便的实现数据清理、转换、合并等操作。推荐书籍《利用Python进行数据分析》。
2、算法预测阶段
目前还没有过多研究,感觉用R和weka比较方便。

一些参考

论坛里有不少大牛给出了一些结果和参考代码,首先感谢这些无私的分享者,在此给出几个链接:
1、阿里音乐流行趋势预测大赛,数据图像化模块函数
有代码,有图,赞一个!
github代码网址
这里写图片描述
2、样本数据50名艺人播放量折线图
在官方论坛的这里发布的,可以简单直观了解一下数据的样子,另外也可以和自己做的结果对比一下,保证自己不会出错。

结语

OK,以上就是我们团队的一个简单思路,希望对赛友有用,也希望各位大神能多交流分享思路。希望大家通过比赛能快速提升自己,取得好成绩!

3
0
查看评论

天池_阿里音乐流行趋势预测大赛(1) —— 赛题分析

本文以天池大数据竞赛的阿里音乐流行趋势预测大赛为背景,将机器学习实战的背景、模型、算法、代码和结果等都整理下来,放在博客中,算是对自己知识的整理吧,有兴趣的朋友也可以看看一起讨论学习。由于很多比赛和项目是由第三方提供的,我会仔细核查是否有规定不允许公开讨论相关内容,只有在确定没有限制的情况下,我才会...
  • lipengcn
  • lipengcn
  • 2016-06-01 21:23
  • 2120

阿里音乐流行趋势预测大赛一起做-(7)初赛总结之用户分类

音乐预测大赛的初赛今天轰轰烈烈地谢幕了,先来看看排名前10的队伍吧 我们队的成绩在切换数据后一直没有特别大的长进,虽然成绩没有达到预期,但是初赛这些天还是涌现并实现了一些不错的思路,有一些还没有来得及实现或者优化,相比去年资金预测时候的我们已经有很大进步啦(自我安慰)。看到群里不少人在询问大神...
  • electech6
  • electech6
  • 2016-06-14 13:12
  • 2851

阿里音乐流行趋势预测大赛一起做-(1)介绍

动机去年在同学推荐下参加了阿里的“资金流入流出预测大赛”,当时对数据挖掘的了解仅存在模糊的概念上,看了那本《大数据时代》后热血沸腾了几天,趁着这三分钟热度还没冷,就在什么都不懂的情况下报名开始搞了。我们三个队员都是新手,刚开始一片茫然后来是手忙脚乱。第一赛季在本地调试算法,期间换了Python,R,...
  • electech6
  • electech6
  • 2016-04-09 11:11
  • 6328

『阿里大数据竞赛』音乐流行趋势预测_不断更新

# 本文使用的语言是Python, 下面不再说明 # 本文禁止盈利性转载 一、数据预处理     1、读取数据     1.1 原始数据、测试数据与实际数据     什么叫原始数据?为什么要保留一份原始数据?    ...
  • Sbtgmz
  • Sbtgmz
  • 2016-05-14 14:04
  • 1874

[天池竞赛系列]阿里音乐流行趋势预测大赛初赛三等奖思路

第一赛季8名,第二赛季11名 主要使用模型和规则 预处理:过滤异常用户的操作记录,比如一整天都听同一首歌,疯狂下载歌的等等 构建样本:对每个歌手建模,每一天的播放数据为一个样本,会出现很多突然的波动,使用7点平滑 特征:因为是对每个歌手建模,所以不用考虑歌手特征,全部使用时间特征 工作日,节假日,...
  • Bryan__
  • Bryan__
  • 2016-08-04 19:17
  • 4014

阿里音乐流行趋势预测大赛-赛后思路整理

赛题介绍 阿里音乐用户的历史播放数据 预测阿里音乐平台艺人的未来60天的播放量 最后top15 1从图入手: 查看规律与趋势 2提出问题: 为什么会出现特别高的播放量? 是否有一定的节假日工作日规律? 不同歌手建模还是单独歌手建模或者歌曲建模? 不同歌手趋势是否相同? 3解决问题 为什么会出现特别...
  • q383700092
  • q383700092
  • 2016-07-21 20:15
  • 1703

阿里音乐流行趋势预测大赛—浅尝辄止(二)

本篇博文接上一篇博文浅尝辄止(一)的内容,这里主要介绍竞赛给的数据中时间戳的处理方法,时间戳是形如“1426406400”形式的一组时间计数,我们需要将其转化为正常的时分秒的形式,然后再将转化后的结果写入到csv文件当中去,最后我们得到的转换前的和转换后的文件内容形式如下:
  • qq_14959801
  • qq_14959801
  • 2016-07-28 14:23
  • 407

阿里音乐流行趋势预测大赛一起做-(6)小结

最近一直在忙毕业的事情,比赛也落下不少。今天第一次切换了数据,在此对之前的工作做个简单的总结。感谢组委会岱月邀请我写自己的参赛经历,《天池小白成长记》在阿里的“天池大数据科研平台”上发布了,还是蛮激动的。好啦,进入正题!扒一扒别人的方法在论坛和QQ群里看到有部分同学透露自己的方法,我就顺道记下来啦,...
  • electech6
  • electech6
  • 2016-06-07 14:59
  • 3399

阿里音乐流行趋势预测大赛 # 第一赛季第21名解决方案

强调内容# 欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown...
  • zxjhdn
  • zxjhdn
  • 2016-07-19 17:28
  • 2484

阿里音乐流行趋势预测大赛一起做-(5)温故知新

比赛进行到现在已经有十天了,我们队伍已经进入瓶颈期了,具体表现就是: 1、每次线下预测结果都感觉不错,应该可以提升成绩吧,至少和现在成绩相当吧,结果10点成绩出来就傻眼了,成绩一直掉掉掉。 2、黔驴技穷。每天为提交成绩而发愁,没有好的思路和方法。看着后面的队伍蹭蹭蹭超越了自己,心里真不是滋味呐。...
  • electech6
  • electech6
  • 2016-05-27 11:17
  • 4582
    个人资料
    • 访问:218312次
    • 积分:2640
    • 等级:
    • 排名:第16291名
    • 原创:65篇
    • 转载:0篇
    • 译文:0篇
    • 评论:159条
    我的微信公众号
      计算机视觉life
      关注CV, ML, AI,坚持原创。
    最新评论