当前位置: 首页 > 知识库问答 >
问题:

当训练数据在不同长度的时间序列的多个CSV文件中时,如何馈送LSTM?

穆轶
2023-03-14

我正在运行一个LSTM来为每个病人分类医疗记录。也就是说,对于每个病人(观察),我有一个CSV文件。整个数据集是多个CSV文件,每个文件都是时间序列的数据帧。这并不明显,因为用图像和时间序列给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  

问题:

有什么建议可以满足我的网络需求吗?

共有3个答案

葛修筠
2023-03-14

lstm\U基线(df['气流','血氧饱和度','心电图]],df['目标],64)

佴博实
2023-03-14

在不同长度序列的情况下,我知道有两种主要的方法

1-用1的批量大小训练你的模型,这是不理想的,因为它需要多少时间,以及它需要的资源。

2-您可以确定最长的序列,使用该长度作为批次大小,向其他序列添加填充值,并在模型训练期间忽略这些填充值。

皇甫飞跃
2023-03-14

由于您的数据点具有可变的序列长度,因此您无法一次轻松地训练您的网络。取而代之的是,你必须以1的小批量进行训练,或者固定你的序列长度,尽管后者根据你处理的数据可能没有意义。

查看批量生产中的Keras功能系列。使用此选项,您可以使用每个患者来训练模型,尽管使用1的批量大小有其自身的问题。

至于模型,我建议使用Keras函数API。如果您想尝试一些简单的东西,只需使用可变长度的输入序列和3的特征大小。这将为您提供一个基线,我假设您希望从函数名中得到这个基线。像这样的东西:

input_ = Input(shape=(None, 3))
x = LSTM(128)(input_)
output = Dense(1, activation='sigmoid')(x)
model = Model(input_, output)
 类似资料:
  • 我有两组不同长度的训练数据。我将这些数据系列称为x_列车数据。它们的形状分别是(70480,7)和(69058,7)。每列表示不同的传感器读数。 我正试图在这些数据上使用LSTM网络。我应该将数据合并到一个对象中吗?我该怎么做? 我还有两组数据,它们是x_列车数据的结果输出。这两个都是尺寸(315,1)。我会用它作为我的y_列车数据吗? 到目前为止,我已经使用pandas.read_csv()读取

  • 问题内容: 在 不使用外部库的情况下 确定给定mp3文件长度(以秒为单位)的最简单方法是什么?(高度赞赏python来源) 问题答案: 您可以使用pymad。它是一个外部库,但不要落入“此处未发明”陷阱。您不希望使用任何外部库的任何特殊原因? 在这里发现。 - 如果您真的不想使用外部库,请在这里查看并查看他的工作方式。警告:这很复杂。

  • 我有两个不同长度的数据帧。我想用CAP*货币和Go*货币与df_cur的乘法来改变数据帧df中的列。这应该在国家和年份必须分别对两个数据家族相同的条件下完成。更具体地说, #df# #df_cur# 所以,我想像这样变换df: #df# 我回顾了许多将两个数据帧大小不同的列相乘得到的答案,但没有任何结果。 我的代码示例: 非常感谢您的宝贵时间!

  • 下面的类将.csv导入数据库 table.it 工作正常,现在我需要更新同一表中的另一列,当在数据库表的相应列中执行此程序时,当前系统时间戳需要更新。 示例:在 Db2 表中,“主题”列为:Eng Social Maths TimeStamp 英寸CSV文件只有3列英语社会数学。 当. csv文件导入(使用上述程序)到db2时,除了TimeStamp之外的所有列都会更新。Timestamp被输入以

  • 有问题的查询是 因此,如何通过一些技巧来加快有问题查询的“发送数据”。

  • 例如,使用我训练的模型来预测未来的数据。也可能是随机/自定义范围。假设我想预测2017年的逐日降雨数据。或者得到25-02-2017的预测数据。也可能是数据集结束后的X天的数据。