大用户用水量分析.docx机 器 学 习 小 组 作 业
题目 机器学习作业之大用户用水量分析
作者姓名
作者学号
指导教师
学科专业
所在学院
提交日期
大用户表
数据处理
首先对大用户表进行合并排序,同时对每 1000 条数据(因为 kettle 是以
1000 条数据导入一次)进行一次简单去重,减少之后去重数据量
接着,我们对数据进行过滤,将 null 值去除后排序去除重复数据(本来是
想优化的,也即是不去掉数据而是将数据修改成符合前后数据情况的,但是发现实现有点困难)。这时原来 1500 万条数据只剩下 816 万条数据了。
接着是计算临近时间的用户的用水量
这时对用水量再次进行一次过滤,将用水量为负和正累积流量为负的值去
掉
然后除杂(这里使用的是增量和标准差以及单位时间内用水量来去杂)
除杂主要是以网络上找到的资料进行的除杂,我用增长量、每天使用水量、
按天算出的标准差等值来进行数据进一步过滤处理,从不同的维度来进行数据的清洗。
综上所述,清洗数据主要是以 null 、负值、异常数据(判断是以网络上提
供的数据进行的。主要是用增长量、每天用水量、用户按天算出的用水标准差
等)。
在这里,由于用户的时间间隔不稳定,有的是 10 分钟,有的只有 1 秒,还有的是 4 个小时,这里统一了时间间隔是 1 天,也即是说我将 1 天作为统计量来统计用户的每日用水量和标准差(标准差是用来看此用户每日是否用水偏差很大,然后便于过滤数据的) ,之后我再以星期几、月份、季度等划分用户用水
情况,进一步寻找用户的用水规律,在总表中,我将用户的 id 、用水总量、用
水平均值、用水标准差、用水时间占有率、周几的用水平均量、月份的用水平
均量、季度的用水平均量作为字段,这样方便我更好的了解用户的用水规律,
以及划分用户情况,同时也可以通过用户总用水量的标准差来判断用户用水是
否不规律或者用问题,从而进一步排除问题数据。这里我本来是想将数据时间
清洗的更小,通过规律时间(比如都为 4 小时)来对每天的用水规律进行分析
的,但是由于数据间隔问题太大,所以我用了天来进行用户数据分隔,下面是
用户各个时期的用水统计表:
按天来划分的用水数据
按周一、周二 ⋯⋯ 来划分的用水数据
按月份来划分的用水数据
按季度来划分的用水数据
总表:通过用户 id 来划分的用水数据
下面先进行用户分类
用户
大用户用水量分析 来自淘豆网m.daumloan.com转载请标明出处.