#赛题和数据
https://tianchi.shuju.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.3yG798&raceId=231531
离线数据:http://pan.baidu.com/s/1o8TjuPG
#数据内容
#分析
第一次参加这样的比赛,边学机器学习和python,面对这样的数据,先交7,8月的数据改成9,10数据看看结果。然而刚学编程和没学数据库,其中一个队友用一下午来导入数据,最后也没成功。
####播放量的预测就是统计播放量。。。
这是我们一开始想到的。开始放写程序,这里是p2的数据,利用字典,元组,列表之间的关系创建类似二维表的数据结构,在以歌曲名为主键将两个表和起来。
最后我们采用的是时间序列预测模型,进入复赛,然后就没有然后了。时间序列预测是有瓶颈的,如果要做用户的聚类分析,再进行这样的统计可能会更好。
#程序
#! usr/bin/env python
# -*- coding: utf-8 -*-
import time #引入时间函数
start = time.clock() #开始计时
actsong={} #艺人——歌曲字典
user={} #用户数据
fu=open("mars_tianchi_user_actions.csv","rb")
fo=open("p2.csv","w")
fs=open("mars_tianchi_songs.csv","rb")
#生成歌曲—艺人字典
for line in fs :
arry=line.split(",") #数据分片
song=str(arry[0])
acts=str(arry[1])
if acts in actsong :
#如果有这个艺人就添加数据,没有的话初始化数据
actsong[acts].append(arry[0]) #数据第一列,歌曲
else :
actsong[acts]=[arry[0]] #数据第二列,艺人
print "生成歌曲—艺