Geo*_*sis 8 machine-learning normalization neural-network lstm recurrent-neural-network
在数据库中有带有记录的时间序列数据:
device- timestamp- temperature- min limit-max limitdevice- timestamp- temperature- min limit-max limitdevice- timestamp- temperature- min limit-max limit每device有 4 小时的时间序列数据(间隔 5 分钟)在发出警报之前和 4 小时的时间序列数据(再次间隔 5 分钟)没有引发任何警报。该图更好地描述了数据的表示,对于每个device:
我需要在 python 中使用 RNN 类进行警报预测。当temperature低于min limit或高于时,我们定义警报max limit。
从 tensorflow here阅读官方文档后,我在理解如何设置模型的输入时遇到了麻烦。我应该事先规范化数据还是其他什么,如果是,如何规范化?
同样阅读这里的答案也没有帮助我清楚地了解如何将我的数据转换为 RNN 模型可接受的格式。
关于我的情况下X和Yinmodel.fit应该是什么样子的任何帮助?
如果您看到有关此问题的任何其他问题,请随时发表评论。
附注。我已经设定python在docker与tensorflow,keras等的情况下,这些信息帮助。
您可以从问题中提到的片段开始。
对于我的案例, model.fit 中的 X 和 Y 应该是什么样子有什么帮助吗?
X应该是 shape 的 numpy 矩阵[num samples, sequence length, D],其中D是每个时间戳的多个值。我想D=1在你的情况下,因为你只传递温度值。
y应该是目标值的向量(如代码片段中所示)。二进制(警报/非警报)或连续(例如最大温度偏差)。在后一种情况下,您需要将 sigmoid 激活更改为其他内容。
我应该预先标准化数据吗
是的,预处理原始数据非常重要。我认为这里有两件重要的事情要做:
最后,我想说这个任务比看起来更复杂。您可能想要找到一个关于时间序列分类的良好入门教程,或者一般的机器学习课程。我相信你能找到比RNN更好的方法。