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

多变量时间序列二进制分类的输入格式

白灿
2023-03-14

我试图使用LSTM模型对多元时间序列数据进行二分类。我在一天中收集了大约100天的7个属性(即100个大小[9000,7]的数组)。这些数组中的每一个都具有1或0的单一分类状态。

考虑到我对Keras和机器学习一般来说都是新手,我开始尝试建立尽可能简单的模型,但当我尝试训练他们时,我在输入形状方面不断出错。例如,我的第一层:

model = Sequential()
model.add(Conv2D(32, (3,3), input_shape=(9000,7,1), activation='relu'))
...
model.fit(x=X_train, y=Y_train, epochs=100) 

对于float64类型的X_列,大小为(100L、9000L、7L),我得到一个错误,如下所示:

ValueError:检查输入时出错:预期conv2d_11_input有4个维度,但有形状的数组(100L,9000L,7L)

我试图改变批量大小和时代的数量,但没有成功,所以有人能解释如何正确地重塑我的输入吗?我错过了什么简单的东西吗?

共有1个答案

袁弘方
2023-03-14

我怀疑您想使用的是Conv1D(3D数据),不是吗?
您使用的是Conv2D(4D数据=图像)。

对于Conv1D和任何RNN层,例如LSTM,您的输入是3D数据,您的input\u shape应该是input\u shape=(9000,7)

输入数据应该是一个具有形状(100,9000,7)的数组,根据错误消息的内容,该数组已经可以了。

假设每一天都是一个单独的序列,你不想把日子联系起来。

 类似资料:
  • 我对时间序列分类比较陌生,正在寻求帮助: 我有一个包含5000个多元时间序列的数据集,每个数据集由21个变量组成,时间周期为3年,类别信息为1或0。我想做的是对一个新的输入进行分类,它在3年的时间内由21个变量组成。 就目前而言,经过几天的研究,我还没有找到(或显然没有理解)将多变量时间序列输入LSTM的方法。有没有可能的解决办法? 我目前的想法是将5000个时间序列“合并”成一个,并向每个序列添

  • 我有一个多元时间序列数据集,我想用它做分类。基本上,这是一个脑电图数据集,它试图分类手是否在移动。 假设我有4个数据集,每个数据集对应一个目标值。数据集如下所示,例如: sample1.csv sample2.csv sample3.csv sample4.csv target.csv 因此,基本上,target.csv文件保存每个示例#.csv文件的分类值。我们可以将其视为一个[3*4]矩阵(例

  • 我试图使用LSTM对多元数据进行时间序列预测。我有50000个15维的样品。我想用10的回顾。输入到LSTM层的形状是什么。会吗 或 我正在使用Keras。

  • 我有一张时间和二进制值的表, 我想在一秒钟后检查二进制列中的值是1还是0,然后创建新值的新列。这里的时间没有继续。例如,这里的第一个值是(358.214),二进制值是1,如果我添加第二个值,它将是(359.214),基于上一个值,该值仍然是1,因为(359.214)不在数据集中。 我想添加两个新列,一个用于秒递增,一个用于新的二进制值。 我如何在R中做到这一点? 数据集, 更新我的尝试: 首先,我

  • 我的任务是使用MATLAB和任何神经网络框架对时间序列数据进行分类。 更具体地描述任务:是计算机视觉领域的一个问题。Is是一项场景边界检测任务。 源数据是来自视频流的4个相邻帧直方图相关阵列。基于此数据,我们必须将此时间序列分为两类: “场景中断” “没有场景中断” 因此,每个源数据输入的网络输入是4个双倍值,输出是一个二进制值。我将在下面展示src数据的示例: 问题是,来自Matlab神经工具箱

  • 本文向大家介绍C#二进制序列化实例分析,包括了C#二进制序列化实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#二进制序列化的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的C#程序设计有所帮助。