【问题标题】:How to label time series data for CNN如何为 CNN 标记时间序列数据
【发布时间】:2021-09-10 10:46:35
【问题描述】:

我想使用 CNN(给定模型)对时间序列数据进行分类。 我的输入信号数据以 shape = (nr. channels x samples x nr. trial) 的形式给出,其中:

  • 编号。通道 = 同时记录的传感器数量
  • samples = 将我的信号分割成 3s 的窗口,这样训练数据将具有相同的长度 3s x 采样率
  • 编号。试验 = 通过将信号分成窗口,我得到 X 块

时间序列/信号数据是基于主题的,对于每个主题,我记录了许多信号。标签也是基于主题而不是基于信号的(因此这不是事件分类问题,而是更多的全局主题分类问题),这意味着对于每个主题的录音,我将拥有相同的标签。示例:

SUBJECT 1 -> 12 个记录的信号,每个大约 2 分钟 -> 分成 3 秒的窗口 -> 所有这些都将具有相同的标签

所以我有一个 Excel 表格,其中每个科目都有一个相关的班级。我已经提取了这些标签,并尝试将它们塑造为(1 x samples x nr. trial)。

我使用的模型需要 NHWC(试验、通道、样本、内核)格式,因此我将训练数据重新调整为:

X train shape = (2642, 14, 384, 1)
y train shape = (2642, 1, 384, 1)

但我得到了一个

ValueError: Data cardinality is ambiguous:
   x sizes: 14
   y sizes: 1
Make sure all arrays contain the same number of samples."

我需要如何调整我的标签数据?将其重塑为 (2642, 14, 384, 1) 使其与训练数据的形状相同?还是?

【问题讨论】:

    标签: python tensorflow conv-neural-network


    【解决方案1】:

    最终通过尝试不同的方法来解决它。 标签、y_train、数组的形状必须为

    (trials, 1)
    

    在我的例子中,试验是通过窗口化信号生成的窗口数

    【讨论】:

      猜你喜欢
      • 2021-01-08
      • 1970-01-01
      • 2013-10-15
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-26
      • 2021-04-01
      相关资源
      最近更新 更多