【发布时间】:2023-04-06 17:34:01
【问题描述】:
我有一堆时间序列。 数据格式如下:
input_data = {
'category_a': tf.Variable([[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5,
6, 6, 8, 8, 8, 8, 9, 9, 9],
[5, 5, 5, 5, 6, 6, 6, 6, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0]], dtype=tf.int32),
'numeric_a': tf.Variable([[0.23378488, 0.20349434, 0.20352034, 0.20349434, 0.23378488,
0.20352034, 0.20349434, 0.20349434, 0.23378488, 0.20352034,
0.20349434, 0.20349434, 0.23378488, 0.20352034, 0.20349434,
0.20349434, 0.23378488, 0.20352034, 0.20349434, 0.20349434,
0.23378488, 0.20352034, 0.20349434, 0.20349434, 0.23378488,
0.20349434, 0.20352034, 0.20349434, 0.20719424, 0.2086331 ,
0.23439065, 0.20352887, 0.23439065, 0.20352887, 0.2086331 ,
0.20719424, 0.23439065, 0.20352887, 0.2086331 , 0.20719424,
0.20352066, 0.20349434, 0.20349434, 0.20352066, 0.23267019,
0.2035374 , 0.24012332, 0.21045385, 0.24012332, 0.21045385,
0.20349434, 0.20349434, 0.20349434],
[0.20351858, 0.20349434, 0.20349434, 0.20351858, 0.23157308,
0.23044993, 0.2035374 , 0.20349434, 0.20349434, 0.20349434,
0.20349434, 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0. ,
0. , 0. , 0. ]], dtype=tf.float32)
}
“类别 a”代表一个分类变量,我想对其进行一次热编码(与 feature_columns 指示列一样)。 每个特征拆分张量。第一个维度表示批量大小 (2)。第二个维度是具有序列长度 (53) 的时间步长。所有序列都被填充到每个批次大小的最大序列长度。每个批次的最大序列长度可能不同。
因此,张量中的值是该特定时间序列的给定时间步长的特征值。
如何将这些数据输入到 lstm 之类的模型中?
我查看了 tensorflow feature_columns,它处理类似格式的数据。 它们对分类数据的编码非常有帮助(例如,indicator_column 和 categorical_column)
我查看了keras.experimental.SequenceFeatures,它似乎提供了所需的功能,但我无法让它工作,而且我很难找到它的工作代码 sn-ps。
我对实现是否在 Keras 中无所谓。
【问题讨论】:
标签: python tensorflow tensorflow-datasets