繁体   English   中英

如何为喀拉拉邦的LSTM回归准备输入数据?

[英]How to prepare input data for a LSTM regression in keras?

我有一个包含5K行(用于验证的-1K)和17列(包括最后一个)(目标整数二进制标签)的数据集。

我的模型就是这个2层LSTM:

model = Sequential()
model.add(Embedding(output_dim=64, input_dim=17))
model.add(LSTM(32, return_sequences=True))
model.add(Dropout(0.5))
model.add(LSTM(32, return_sequences=False))
model.add(Dense(1))

model.compile(loss='binary_crossentropy', optimizer='rmsprop',
              class_mode='binary')

用熊猫加载数据集后

df_train = pd.read_csv(train_file)
train_X, train_y = df_train.values[:, :-1], df_train['target'].values

并尝试运行我的模型,出现此错误:

例外 :使用TensorFlow时,应明确定义序列的时间步数。 -如果您的第一层是Embedding,请确保将“ input_length”参数传递给它。 否则,请确保第一层具有“ input_shape”或“ batch_input_shape”参数,包括时间轴。

我应该在input_lengthinput_length什么? 总行数?

由于我的数据框的形状为train_X =(4000,17)train_y =(4000,),我该如何准备它来填充这种模型? 我必须更改输入数据的形状吗?

谢谢你的帮助!! (=

看起来Keras使用静态展开方法在TensorFlow上构建循环网络(例如LSTM)。 input_length应该是要训练的最长序列的长度:因此,如果CSV文件train_file每一行都是逗号分隔的符号序列,则它应该是最长行中的符号数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM