我有一个来自多个通道的可变长度测量数据集,我希望将其放入keras转换网中。如何调整数据框的形状以使其通过?
当前框架的形状如下:
HR(bpm) Sp02(%)
[79, 80, 79, 79, 79, 79, 79, 79, 79, 79, 79, 7... [99, 98, 99, 99, 99, 99, 98.5, 99, 98, 99, 98,...
[91, 91, 92, 94, 91, 94, 92, 90, 93, 91, 91, 9... [99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 9...
[71, 82, 77, 76, 76, 82, 87, 79, 77, 77, 76, 7... [95, 94, 97, 96, 95, 97.5, 94, 95.5, 95, 95, 9...
[63, 63, 62, 62, 64, 62, 63, 61, 61, 62, 62, 6... [97, 98, 97, 97, 98, 97.5, 97, 98, 98, 98, 98,...
[71, 72, 76, 71, 80, 71, 72, 73, 72, 79, 70, 7... [97.58, 92, 92, 98, 97, 97.5, 98, 97, 97, 97, ...
因此,每一行(每个测量步骤)的每个通道(测量类型)都有一个数组。这些数组的长度各不相同,因为并非所有行都具有相同数量的时间步长。
我的网络(当前)如下:
model = models.Sequential()
model.add(layers.Conv1D(100, 1, padding='same', input_shape=(None, n_features)))
model.add(layers.Dropout(0.5))
model.add(layers.MaxPooling1D(pool_size=2))
model.add(layers.Flatten())
model.add(layers.Dense(64))
model.add(layers.Activation('relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(2))
model.add(layers.Activation('softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
model.summary()