"阿里巴巴"杯北邮数据挖掘竞赛
一、赛题介绍
在天猫,每天都会有数千万的用户通过品牌发现自己喜欢的商品,品牌是联接消费者与商品最重要的纽带。
本届赛题的任务就是根据用户近200天在天猫的行为日志,建立用户的品牌偏好,并对用户的性别和年龄进行分类。
根据性别和年龄将用户分为了12类,建议参赛者考虑类别不平衡问题(偏斜不严重)。
比赛共约700MB的数据量,按6:2:2的比例分配与训练集、测试集1、测试集2。
二、数据说明
竞赛数据类型:
log_train文件:
三、评估指标
四、数据分析
1.数据总量
2.类别分布
分析:根据上图,我们可以预测1-6类为女性用户,7-12类为男性用户!
实现代码:
#!/usr/bin/python278 # _*_ coding: utf-8 _*_ import matplotlib import matplotlib.pyplot as plt def goforit(): labdic={} file=open("info_train.txt",'r') y=[] zhfont = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\ukai.ttc') for line in file.readlines(): lab=int(line) if lab not in labdic: labdic[lab]=0 labdic[lab]+=1 x=range(1,len(labdic)+1) for i in x: y+=[labdic[i]] fig=plt.figure() ax=fig.add_subplot(111) ax.scatter(x,y) ax.axis( [0,12, 0 ,30000]) #设置坐标轴范围 plt.plot(x,y,'-r') plt.bar(x,y,alpha = .5, color = 'g') plt.xlabel(u'用户类别', fontproperties=zhfont,fontsize=26) plt.ylabel(u'用户数量', fontproperties=zhfont,fontsize=26) plt.show()
分析:根据上图,我们可以看出第185天是消费的最高峰,可以推测为“双十一狂欢购物节”,同时,第1-10是消费的最低峰,可以推测为“春节”!
实现代码:
#!/usr/bin/python278 # _*_ coding: utf-8 _*_ import numpy import matplotlib import matplotlib.pyplot as plt def timePurchase(): file=open("time_stamp.txt",'r') indexDict={} y=[] zhfont = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\ukai.ttc') for line in file.readlines(): index=int(line) if index not in indexDict: indexDict[index]=0 indexDict[index]+=1 x=range(1,len(indexDict)+1) for i in range(1,len(indexDict)+1): y+=[indexDict[i]] fig=plt.figure() ax=fig.add_subplot(111) ax.scatter(x,y) ax.axis( [1,185, 5 ,50000]) #设置坐标轴范围 plt.plot(x,y,'-r') plt.bar(x,y,alpha = .5, color = 'g') plt.xlabel(u'消费日期', fontproperties=zhfont,fontsize=26) plt.ylabel(u'用户数量', fontproperties=zhfont,fontsize=26) plt.show()
4.统计特征
未完待续。。。