【发布时间】:2019-07-14 15:30:30
【问题描述】:
我正在运行 LSTM 来对每位患者的医疗记录进行分类。话虽如此,对于每位患者(一次观察),我都有一个 CSV 文件。整个数据集是多个 CSV 文件,每个文件都是时间序列的 DataFrame。 这不是很明显,因为用图像和时间序列输入 LSTM 之间有一个小的区别,它是序列的大小。 CNN 假设输入具有相同的大小,但这里我们有不同长度的输入
问题:
这种情况下如何喂 LSTM?
我敢肯定,如果您熟悉图像分类,您可以帮助解决我的问题,但这不仅仅是相同的方法。
示例
对于一位患者,我有一个 DataFrame,其中包含我想在 LSTM 中使用的所有记录。
df.shape
Out[29]: (5679000, 4)
# The 5679000 change from one patient to another but 4 columns are fixed
看看这里:
df.head(4)
Out[30]:
AIRFLOW SaO2 ECG Target
0 -34.0 31145.0 304.0 0.0
1 -75.0 31145.0 272.0 0.0
2 -63.0 31145.0 254.0 0.0
3 -57.0 31145.0 251.0 1.0
4 -60.0 31145.0 229.0 0.0
问题:
对我的网络有什么建议吗?
【问题讨论】:
-
您的问题是什么?这段代码有点混乱。如果您的每个数据点都有可变数量的时间步,那么您的批量大小需要为 1,因此您需要以小批量的方式进行训练,而不是一次全部训练。也就是说,除非您可以将具有相同时间步数的患者分组或固定时间步数。另外,你为什么使用批量大小作为第一个 LSTM 中的单元数?
-
@LukeDeLuccia 你所问的正是我想要弄清楚的! mini_batches,batch_size,...如何正确执行?任何改进建议将不胜感激
标签: python tensorflow keras time-series lstm