目录
项目流程
项目地址
项目概述
对象分析
模块介绍
数据模块
数据读取
数据预处理
数据特征提取
项目流程
项目地址
仓库地址
项目概述
前几天(好吧,是前几个月—拖延症癌患者),从一个小客户哪里收到了一批数据,没错,就是很小批量的数据,然后目标适用于解决交通流量预测等的问题。这本来是一个非常小非常小的项目,不过既然是第一次接到做交通流量预测的,当然要尽情搞事情。
首先是模型,什么SVM、LSSVM、SVR、BP等等传统,能上的都给他上上。然后使用模式,甭管是命令行工具还是绘图方式,能够写多少轮子就写多少轮子,所有的东西都是抽象抽象再抽象,我们的目标是没有最抽象只有更抽象。
既然决定,不单单只是做一个项目,而是决定在这个项目的基础上搞点东西,那么就要从头开始,所以,一开始就是先做架构了。
对象分析
我们先看看有哪些可以抽象出来的对象,首先,这是一个用于预测的模型项目,然后就有了第一个对象,模型,模型应该是用于预测和学习的。
然后,为了反馈预测,我们需要抽象一个残差对象,用于学习。
为了能够直观检验学习的效果,我们可能还需要对于部分学习效果进行可视化,因此需要构建一个绘图对象,用于将数据对象绘制成对应的图形。
由于拿到的数据比较参差,所以需要对数据进行预处理,按照时间聚合与分割,并且按照需要提取数据特征,因此需要构建数据提取过程的对象。
最后,为了连接数据端到模型端再到可视化端,我们需要构建一个管道对象,让整个数据流串接起来。
模块
模型
残差
可视化
管道
此外,由于客户的需求,我们还需要定制一些东西,比如我们要在模型中使用遗传算法来进行模型优化,所以我们也会构建一些ga相关的对象,比如个体,群体等。
然后,为了配置整个系统,要实现一个配置对象,去配置整个系统,可。
模块介绍
数据模块
数据模块基本负责了几件事情,数据读取、数据预处理和数据特征抽取。
数据
数据读取
数据预处理
数据特征抽取
数据读取
参考data/xlsx_reader.py,按照需求,我会收到一批xlsx类型的数据,也就是超表格数据。这里直接使用pandas中的read_excel提供能力。然后,在此基础上,提供数据串联与数据索引变更的能力。
数据预处理
参考data/preprocess_data.py,对于已经读取的数据进行必要的预处理流程,这里做的只是简单的正则化。
数据特征提取
参考data/extract_feature.py,这里选取一些数据特征用于预测下一时刻的数据,包括了时间滑动窗口内的均值、方差、一阶导数、二阶导数等。
(未完待续)