Python 具有一个序列特征和三个电流特征的LSTM

Python 具有一个序列特征和三个电流特征的LSTM,python,keras,lstm,Python,Keras,Lstm,我有一个关于使用LSTM模型预测销售额的问题。 要构建模型,我需要输入以前的销售值(选择样本大小30),以及当前(t)功能,如是否促销、是否度假等。我当前的代码: def create_dataset(dataset, look_back=1): dataX, dataY = [], [] for i in range(len(dataset)-look_back-1): a = dataset[i:(i+look_back), 0] dataX.append(a) da

我有一个关于使用LSTM模型预测销售额的问题。 要构建模型,我需要输入以前的销售值(选择样本大小30),以及当前(t)功能,如是否促销、是否度假等。我当前的代码:

def create_dataset(dataset, look_back=1):
dataX, dataY = [], []
for i in range(len(dataset)-look_back-1):
    a = dataset[i:(i+look_back), 0]
    dataX.append(a)
    dataY.append(dataset[i + look_back, 0])
return np.array(dataX), np.array(dataY)

look_back = 30
trainX, trainY = create_dataset(train, look_back)
valX, valY = create_dataset(val, look_back)

# note: train and val dataset here only include sale values

trainX = np.reshape(trainX, (trainX.shape[0], 1, trainX.shape[1]))
valX = np.reshape(valX, (valX.shape[0], 1, valX.shape[1]))

我创建了n*30个数据集(30列)。然后我应用到keras LSTM模型中。但是,如何将当前功能(而不是时间序列)作为输入包含到模型中呢?

如果您以非顺序的方式构建模型,使用功能API,您可以有多个输入。然后,您可以使用lstm处理时序,并使用某些密集层中的当前功能处理输入。然后,在进行预测之前,将它们合并并使用一些更密集的层作为示例

下面可以找到一些例子