这是竞赛中偷电的代码 这个代码是前期数据处理的,具体是:原始数据,每个用户数据按时间排序,并去除掉时间信息
This folder contains data-processing source and model define code of LIAO, which is detail:
extract_users.py: 提取总用户数据中指定用户ID的所有数据。例如:提取训练集中所有用户ID的用电情况数据。另外,日期被转换成自2015/1/1始经过的天数,例如:2015/1/1被转换成整数0,2015/1/2被转换成整数1。最后生成的文件部分数据如下:
CONS_NO,DATA_DATE,KWH_READING,KWH,LABEL
0114314033,11,3525.2000,5.7600,0
1742440062,11,3097.1900,5.7800,0
3882100023,11,751.0700,8.7200,0
3261100023,11,982.1700,4.2600,0
6904314033,11,0.0200,0.0000,0
9027110033,11,4351.3300,2.4200,0
4585110033,11,7949.7200,3.7100,0
9887614033,11,4449.7000,10.0000,0
9431100023,11,472.4500,7.3700,0
3572100023,11,927.2400,8.6700,0
8804314033,11,535.3700,0.9200,0
8924314033,11,1206.4000,0.5100,0
5902440062,11,866.6400,0.5100,0
0012440062,11,5543.4800,10.8600,0
0168976557,11,28.7700,0.0000,0
8232440062,11,3864.3600,4.4700,0
3102440062,11,4603.1700,4.7400,0
9444910023,11,13.8600,0.1900,0
2692100023,11,448.7300,3.4800,0
1732440062,11,147.4700,0.0000,0
4532440062,11,2602.2800,3.1700,0
0232440062,11,1638.5600,0.0000,0
1942440062,11,707.4400,10.2800,0
2732440062,11,21.3800,0.0000,0
9763066020,11,2708.8700,23.0800,1
5061100023,11,0.0000,0.0000,0
5184186020,11,751.8000,1.6400,0
2232440062,11,944.5100,0.0000,0
8142440062,11,1633.5600,3.2200,0
7555096020,11,2879.6000,4.8300,0
9901100023,11,1020.5000,12.4400,0
1600100023,11,0.0000,0.0000,0
5600100023,11,316.3400,0.9600,0
convert_all_user.py
'这个文件完成了从原始所有数据预处理到提取训练集,测试集数据的过程'
程序数据处理过程为:
- 每用户数据按日期展开成一行
- 提取每用户每天起始电数、该天用电量数据,拼接成一行
- 对于数据重复取最大值
- 对于"清表"情况,起始值补充至不清表递增
- 对于缺失值,用电总数按一阶线性插值处理,该天用电量按取众数处理
- 提取训练集、测试集用户数据
- 写入文件至pickle持久化存储