动机

去年在同学推荐下参加了阿里的“资金流入流出预测大赛”,当时对数据挖掘的了解仅存在模糊的概念上,看了那本《大数据时代》后热血沸腾了几天,趁着这三分钟热度还没冷,就在什么都不懂的情况下报名开始搞了。我们三个队员都是新手,刚开始一片茫然后来是手忙脚乱。第一赛季在本地调试算法,期间换了Python,R,MATLAB各种平台和开发环境,倒腾了一个多月,幸运地进入了第二赛季。第二赛季在线上比赛,阿里要求利用ODPS的Map&Reduce、SQL及各种平台集成的机器学习算法包调试模型,从熟悉平台到开始编写,调试代码,我们每晚都忙到晚上12点,看完排名(零点十分左右公布最新排名)才睡觉,排名落后了郁闷睡不着,进步了激动睡不着。这期间也走了不少弯路,虽然不少想法都没能实现,最终还是非常幸运的获得了极客奖。两个半月的努力让我真正认识了实际项目中数据挖掘的流程和存在的问题,拓展了视野。今年看到类似的比赛,就抓紧组队报了名,准备边做比赛边写博客。在记录比赛历程的同时又能和许多牛人交流学习,也是怕自己坚持不下去,先为自己加油。

比赛介绍

下面贴一下官方介绍
本次大赛以阿里音乐用户的历史播放数据为基础,期望参赛队伍通过对阿里音乐平台上每个时间段内艺人的试听量进行预测,挖掘出即将成为潮流的艺人,从而实现对一个时间段内音乐流行趋势的准确把控。大赛将开放一定规模的抽样歌曲艺人数据以及与这些艺人相关的用户行为,参赛队伍需要设计相应的算法进行数据分析和处理,比赛结果按照规定的评价指标使用在线评测程序进行评阅和排名,结果最优者获胜。

参赛对象:

本次大赛面向全社会开放,高等院校、科研单位、互联网企业、创客团队等人员均可报名参赛。参赛队伍可以单人参赛或自由组队(最多不超过3人,可以跨单位组队)。

时间节点

第一赛季(5月17日—6月14日)
平台赋权(6月14日—6月16日)
第二赛季(6月17日—7月15日)
决赛(8月下旬)

赛题数据

具体的赛题和数据注册后可以下载数据, 大赛开放抽样的歌曲艺人数据,以及和这些艺人相关的6个月内(20150301-20150830)的用户行为历史记录。

给出的两个表格我加入了自己的备注

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


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


最后选手需要提交的表格如下

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


具体的评估指标在官网上都有详细介绍。

疑问解答

一些选手研究了数据后发现了不少问题,也产生了不少疑问,这在官方FAQ里有解答。
我选择了部分FAQ里内容和论坛里大家关注的问题copy到这里:

Q: 发布日期20160207,为什么2015年会有播放记录?
A: 发布时间是整张专辑发布才算,有些歌曲先前已经存在,所以系统中存在少量歌曲试听时间会先于发布时间。有的是先发的单曲,然后后面整专辑的时候把单曲收录了。

Q: 如果用户下载歌曲后,离线在本地播放,还会产生记录么?
A: 离线播放也会有播放记录。

Q: 预测的是daily plays,也就是说不包括downloads和collects?
A: 最后预测的是所有用户60天里每天的播放量, 预测艺人下面所有歌曲的播放数的和。

Q:请问后面预测时间段艺人可能会发布新的歌曲吗?以及预测时间是否可能会新增用户?
是有可能有新用户和新歌曲的。
A:参见比赛详情页的这个FAQ:

  • Q:要预测的艺人当天的播放数据是基于user表中已有用户的播放,还是预测网站中所有用户的播放?
    A:需要预测网站中所有用户的播放。注:初赛中是针对用户做了一次随机抽样,后续的真实结果也做了处理。

所以原则上,只需要根据已有的用户规模做合理预测即可。

Q:新用户我们可以预测, 新歌曲不具有普遍性吧 ?一个歌手发歌可不是那么随意的呢。也没任何规律可循啊?
A:你这个问题问的很好,这也是大家各自展示数据分析和预测策略的地方,还有如何在不可预测的时候尽量地做得更好。

Q:艺人歌曲数据是否包含了某个艺人所有曾经发布的歌曲?还是只包含这6个月中有行为的歌曲?
A:我们将没有行为的歌曲过滤了。所以是的,我们提供的歌曲不一定是艺人的全部歌曲,而是有六个月中有行为的歌曲列表。

交流渠道

在这么发达的社交化环境里,肯定会有很多交流方式啦
1.官方论坛
游客可以浏览,需要注册才能提问,会有阿里的师兄师姐们(主要是师兄哈)回答。