【发布时间】:2019-11-27 23:43:09
【问题描述】:
我有大约 1000 个节点数据集,其中每个节点有 4 个时间序列。每个时间序列的长度正好是 6 个。标签是 0 或 1(即二进制分类)。
更准确地说,我的数据集如下所示。
node, time-series1, time_series2, time_series_3, time_series4, Label
n1, [1.2, 2.5, 3.7, 4.2, 5.6, 8.8], [6.2, 5.5, 4.7, 3.2, 2.6, 1.8], …, 1
n2, [5.2, 4.5, 3.7, 2.2, 1.6, 0.8], [8.2, 7.5, 6.7, 5.2, 4.6, 1.8], …, 0
and so on.
由于我有时间序列,我假设它更像是序列分类,大多数博客文章都使用了 LSTM。我以前从未使用过 LSTM,这将是我的第一个 keras 应用程序。所以,我开始使用最基本的sequential LSTM模板如下。
# create the model
model = Sequential()
model.add(Embedding(5000, 32, input_length=24))
model.add(LSTM(100))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
但是,我很难理解如何使用embedding 层向 LSTM 输入四个时间序列。我可以使用四个embedding 层还是有其他方法可以解决这个问题?
如果需要,我很乐意提供更多详细信息。
【问题讨论】:
标签: python keras classification lstm