Python 如何准备keras中LSTM回归的输入数据?

Python 如何准备keras中LSTM回归的输入数据?,python,pandas,regression,tensorflow,keras,Python,Pandas,Regression,Tensorflow,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.ad

我有一个数据集,有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')
在用pandas加载我的数据集之后

df_train = pd.read_csv(train_file)
train_X, train_y = df_train.values[:, :-1], df_train['target'].values
尝试运行我的模型时,出现以下错误:

异常:使用TensorFlow时,应明确定义序列的时间步数。-如果第一层是嵌入层,请确保向其传递“input_length”参数。否则,请确保第一层具有“input_shape”或“batch_input_shape”参数,包括时间轴

我应该在
输入长度中输入什么?总行数是多少

既然我的数据帧的形状是train_X=(4000,17)train_y=(4000,),我如何准备它来提供这种模型?我必须更改输入数据的形状吗


谢谢你的帮助!!(=

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

看起来Keras使用静态展开方法来构建循环n网络(如LSTM)关于TySoFrase.<代码>输入长度> /COD>应该是您要训练的最长序列的长度:因此,如果您的CSV文件的每一行<代码> TrasyFrase<代码>是一个逗号分隔的符号序列,它应该是最长行中的符号个数。

…所以,因为CSV文件上的每个字段都是整数,所以我可以考虑T的长度。文件中最大的数字?(如果数据文件中较大的数字为
00979797
,则
输入长度将为
8
)是吗?谢谢!不,应该是最长行中的字段数。如果这对所有行都是相同的,那么它应该是字段的数目。所以…因为CSV文件上的每个字段都是整数,我可以考虑文件中最大数量的长度吗?(如果数据文件中的较大数字为
00979797
,则
输入长度将为
8
)?是否正确?谢谢!不,它应该是最长行中的字段数。如果所有行的字段数相同,则它应该只是字段数。