数据挖掘项目:基于热水器的洗浴事件识别
前言
1. 项目描述
本项目基于热水器采集的时间序列数据,将顺序排列的离散的用水时间节点根据水流量和停顿时间间隔划分为不同大小的时间区间,每个区间是一个可理解的一次完整用水事件,并以热水器一次完整用水事件为一个基本事件,将时间序列数据划分为独立的用水事件并识别出其中属于洗浴的时间。(理论上单片机记录数据的频率是2秒一次)
2.处理流程
数据预处理->用水事件划分->特征工程->标签重做
该博文仅以截图形式展现,具体代码详见个人GitHub:https://github.com/None950823/Recognition-of-bathing-behavior-based-on-water-heater
数据探索性分析EDA
可见该数据集是来自一个热水器,也可以说是一个用户的用水记录。
查看缺失值等基本数据集信息:
可见有水和没水基本是一半的比例上图说明用水时间间隔基本在2附近。
数据预处理
特征重做
主要围绕三个方向做特征:
上面的这种处理方式只是我个人的处理方式,这块可发挥性太大,完全可以使用其他处理。
至此,所有用水事件(洗菜、洗手、洗衣、洗浴等)划分完毕,下面开始做特征:
制作标签
构建模型
XGB
BP
分析总结:很诧异,准确率达到了100%,可能原因有两种:一数据量太少;二是因为数据标签是自己做的,存在不正确的划分方式,而正种方式被模型学习到了。