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

原创 2016年06月01日 21:23:33

本文以天池大数据竞赛阿里音乐流行趋势预测大赛为背景,将机器学习实战的背景、模型、算法、代码和结果等都整理下来,放在博客中,算是对自己知识的整理吧,有兴趣的朋友也可以看看一起讨论学习。

由于很多比赛和项目是由第三方提供的,我会仔细核查是否有规定不允许公开讨论相关内容,只有在确定没有限制的情况下,我才会放在个人博客上,但难免会有疏漏,如果有侵权,请及时联系本人,麻烦了。


1、背景材料

1.1 竞赛题目

本次大赛以阿里音乐用户的历史播放数据为基础,期望参赛者可以通过对阿里音乐平台上每个阶段艺人的试听量的预测,挖掘出即将成为潮流的艺人,从而实现对一个时间段内音乐流行趋势的准确把控。

1.2 竞赛数据

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

(1)用户行为表(mars_tianchi_user_actions)
这里写图片描述
1、共35W用户,其中8.3W只出现过一次
2、共1W首歌,其中500首只出现过一次
3、见2.1
4、频次分别为478W,81W,6W
5、3-1到8-30共183天

(2)歌曲艺人(mars_tianchi_songs)
这里写图片描述
1、共1W首歌,其中500首只出现过一次
2、共50个歌手
3、从19630322到20160227
4、
5、共9种语言
6、男、女、乐队

(3)结果集(mars_tianchi_artist_plays_predict)
选手需要预测艺人随后2个月,即60天(20150901-20151030)的播放数据。
这里写图片描述

1.3 评估指标

这里写图片描述

2、注意点

2.1 unix时间

这里的Unix时间并不是“unix时间戳”,即从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
Unix时间戳可以用下述代码转换为常用时间格式

import time

for l in file:
    x = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(int(l)))
    print x

此处是指是此事件需要应用SQL的内建函数FROM_UNIXTIME进行转化。
函数声明:

datetime from_unixtime(bigint unixtime)

用途:将数字型的unix时间日期值unixtime转为日期值。
unixtime:Bigint类型,秒数,unix格式的日期时间值,若输入为string,double类型会隐式转换为bigint后参与运算。
返回值:Datetime类型的日期值,unixtime为NULL时返回NULL。
示例:

from_unixtime(123456789) = 2009-01-20 21:06:29

数据集中提供的gmt_create只能精确到小时,例如1426377600将转化为2015-3-15 8:0:0,其中2015-3-15信息在Ds中已有提供,即gmt_create只能提供小时。

2.2 FAQ有用信息

(1)用户下载歌曲后,离线在本地播放,仍会产生播放记录。

(2)Q:要预测的艺人当天的播放数据是基于user表中已有用户的播放,还是预测网站中所有用户的播放?
A:需要预测网站中所有用户的播放。注:初赛中是针对用户做了一次随机抽样,后续的真实结果也做了处理。所以原则上,只需要根据已有的用户规模做合理预测即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

阿里音乐流行趋势预测大赛一起做-(4)成绩提交

按照我上一篇博客中所描述的思路,我们仅用artist_id和艺人当天的播放量Plays,以及日期Ds三个维度的数据作为训练集合,对每个艺人分别使用时间序列算法进行预测,提交了成绩。本来没报多大希望,只...

机器学习理论与实战(九)回归树和模型树

前一节的回归是一种全局回归模型,它设定了一个模型,不管是线性还是非线性的模型,然后拟合数据得到参数,现实中会有些数据很复杂,肉眼几乎看不出符合那种模型,因此构建全局的模型就有点不合适。这节介绍的树回归...
  • cuoqu
  • cuoqu
  • 2013-07-27 00:29
  • 9566

2016亚洲消费电子展(CES Asia)参会总结

第二届亚洲消费电子展(CES Asia 2016)2016年5月11-13日在上海新国际展览中心举行。我有幸在13号下午赶到现场见证了这一盛会,还是挺增长眼界的,在此简单总结一下,顺便把一些好玩有趣的...

机器学习经典算法详解及Python实现--CART分类决策树、回归树和模型树

Classification And Regression Tree(CART)是一种很重要的机器学习算法,既可以用于创建分类树(Classification Tree),也可以用于创建回归树(Reg...

机器学习经典算法8-树回归

1.简单介绍         线性回归方法可以有效的拟合所有样本点(局部加权线性回归除外)。当数据拥有众多特征并且特征之间关系十分复杂时,构建全局模型的想法一个是困难一个是笨拙。此外,实际中很多问题为...

IBM P590/595 BPR电源 FRU:15R6711

杨国栋   手机:13521520993  QQ:599291597 IBM P590/595 DCA 44P4672 15R6710 12R8604 IBM P590/595 DCA 45D0579...

阿里音乐流行趋势预测大赛一起做-(2)weka初识

本次比赛第一赛季我们团队大赛先用weka对数据进行预处理。weka是一款开源的,免费的,基于JAVA环境下开源的机器学习(machine learning)以及数据挖掘(data mining)软件。...

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

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

R语言统计应用(一) —— 基础概述

在数据挖掘中,统计学习方法常常用到R语言,因此,我们后面将对R语言在统计学习中的应用进行专题介绍,方便从理论上对统计学习有进一步深入的认识。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)