具有注意机制的递归神经网络(RNN)通常用于机器翻译和自然语言处理。在Python中,机器翻译中RNN with Attention机制的实现非常丰富(例如https://talbaumel.github.io/blog/attention/,但是我想做的是在时态数据文件上使用RNN With Attention机制(不基于任何文本/句子)数据)。
我有一个尺寸为21392 x 1972的CSV文件,已使用Pandas将其转换为数据框。第一列是“日期时间格式”,最后一列包含目标类,例如“ Class1”,“ Class2”,“ Class3”等,我想对其进行标识。因此,总共有21392行(10分钟时间步长的数据实例)和1971个功能。最后一列(第1972列)是标签列,共有14个不同的类。
我已经研究了Keras(https://medium.com/datalogue/attention-in-keras-1892773a4f22)和Tensorflow(Visualizing attention activation in Tensorflow)上的可用实现文档,但是它们似乎都没有完成我想完成的工作。我知道这是一种不寻常的方法,但是我想尝试一下并使用注意力机制,因为我的许多功能可能在数据中都是多余的。
import pandas as pd
mydataset = pd.read_csv('final_merged_data.csv')
从现有文献中可以看出,将注意力机制与RNN耦合时,效果很好。我无法通过Attention机制找到RNN的任何此类实现,该机制也可以提供可视化。我也无法理解如何将数据转换为序列(或列表列表),以便以后可以将其与One Hot Encoding一起使用,以将RNN与Attention一起使用。我对使用Python以及Keras / Tensorflow并不陌生,并且对将数据转换/转换成可以模拟序列分类问题的形式的过程感到很困惑。我的问题基本上是多类分类,就像通常使用机器学习分类器来预测标签一样,但是将RNN与Attention一起使用。在这方面的任何帮助将不胜感激。干杯!
答案 0 :(得分:0)
请认真参考本文中有关使用序列到序列模型进行时间序列分类的信息。
https://www.computer.org/csdl/proceedings/icdmw/2016/5910/00/07836709.pdf