阿里云音乐流行趋势预测数据清洗整合——纯python,没有用数据库

本文介绍了作者参加阿里云音乐流行趋势预测比赛的经历,使用Python进行数据清洗和整合,探讨了从原始数据到构建时间序列预测模型的过程,并分享了在没有使用数据库的情况下遇到的挑战。虽然采用了时间序列预测进入复赛,但作者认为结合用户聚类分析可能能取得更好的效果。
摘要由CSDN通过智能技术生成

#赛题和数据
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 "生成歌曲—艺
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值