我正试图将横截面与时间序列分量相结合,对表格数据进行建模,基本上使用X的最后n个记录来预测单个Y值。
我正在使用tensorflow和keras 的最新版本
def build_model(input_shape):
model = Sequential([
Dense(units = (len(input_variables) * 2) - 1
, activation= activation_func
, input_shape=input_shape
, kernel_initializer = ini_method),
Dense(1)])
optimizer = Adam(lr)
model.compile(
loss='mse',
optimizer=optimizer,
metrics=['mae', 'mse'])
return model
model = build_model(n,m)
model.fit(X,y)
X是形状(k,n,m(
y为(k,1(
这是我正在使用的模型。我给它的输入形状是(n,m(。然而,当我想要(,1(输出时,我得到了(n,1(的输出。
我错过了什么?
您需要事先或使用Keras压平层来压平(n,m(维度。例如
model = Sequential([
Flatten(),
Dense(units = (len(input_variables) * 2) - 1
, activation= activation_func
, input_shape=input_shape
, kernel_initializer = ini_method),
Dense(1)])