我想使用CNN(给定模型)对时间序列数据进行分类。我的输入信号数据为shape = (n . channels x samples x n . trials),其中:
- nr。通道=同时记录的传感器数量
- samples =将我的信号分成3个窗口,这样训练数据将具有相同的长度3s x采样率
- nr。试验=通过将信号分成窗口,我获得X块
时间序列/信号数据是基于主题的,对于每个主题,我都记录了许多信号。标签也是基于主题的,而不是基于信号的(所以这不是一个事件分类问题,而更像是一个全局主题分类问题),这意味着对于每个主题的记录,我将使用相同的标签。例子:
受试者1 ->12个记录信号,每次约2分钟->拆分为3个Windows ->它们都有相同的标签
所以我有一个excel表,其中每个主题都有一个相关的类。我已经提取了这些标签,并尝试将它们塑造为(1 x样品x n次试验)。
我使用的模型需要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),使其形状与训练数据相同?还是?
最终通过尝试不同的方法解决了这个问题。标签y_train数组的形状必须为
(trials, 1)
在我的例子中,试验是通过对信号
进行窗口化而生成的窗口数