是否可以使用 Keras 屏蔽层屏蔽单个单元格?

时间:2021-05-18 10:15:53

标签: python keras conv-neural-network lstm masking

我有时间序列数据,想构建一个 1D CNN/LSTM,想使用 Keras 掩蔽层来“忽略”缺失值。

我的数据结构如下:我有 1000 名患者,在 20,000 分钟内测量了 3 个变量(心率、氧气浓度、呼吸频率),每分钟测量一个变量。

在这个数据集中,我经常有患者的 3 个变量中的一个缺失值,而其他变量具有合理的值。

例如,给定患者的每分钟测量值如下所示:

patient_1_heart = [70, 71, 68, 80, ...]

patient_1_oxygen = [90, 89, NA, 91, ...]

patient_1_breathing = [20, 21, 20, 19, ...]

现在我的问题是,我可以屏蔽patient_1_oxygen 中的NA 值,还是只能屏蔽整个时间步长?因为在同一时间戳有其他 2 个变量的测量值。

鉴于 Keras 文档声明如下:

“对于输入张量中的每个时间步(张量中的第 1 维),如果该时间步中输入张量中的所有值都等于 mask_value,那么该时间步将在所有下游被屏蔽(跳过)图层(只要它们支持遮罩)。” https://keras.io/api/layers/core_layers/masking/

以这种方式表达,似乎给定时间戳的所有值都应该等于掩码值才能发生掩码?如果是这种情况,鉴于无法选择插补,我该如何屏蔽/忽略单个单元格,如上例所示?

0 个答案:

没有答案
相关问题