我有一个虚拟的数据集,其中包含公司在不同费用类别中支出的3年费用。对于Heads列,我采用了虚拟变量。在按日期顺序对数据进行分组之后,我删除了“年和月”列。 下面是一个示例,
Head Year Month Expense StockPrice
A 2005 1 23 120
A 2006 2 23 121
B 2006 3 1000 130
C 2006 4 1500 135
C 2007 1 1400 125
我已经建立了用于回归的神经网络模型,并将其拟合到我的训练和测试数据中。 我的X数据的形状为(4851,6),而y数据的形状为(4851,1)。我已经能够从模型中获得良好的结果。
现在,我要根据模型对未来5个月的样本进行预测,从而对未来5个月的费用进行预测。我应该如何进行呢?
我安装的模型
model = Sequential()
#model.add(Dense(units = 1, input_dim = 5, activation = 'relu'))
model.add(Dense(256, input_dim = 6,kernel_initializer='normal', activation = 'relu'))
model.add(Dense(256, input_dim = 6,kernel_initializer='normal', activation = 'relu'))
model.add(Dense(256, input_dim = 6,kernel_initializer='normal', activation = 'relu'))
model.add(Dense(1, activation='linear'))
model.compile(loss = 'mean_absolute_error', optimizer = 'adam')
model.summary()
model.fit(x = X_train, y= y_train, epochs = 100, validation_data = (X_test, y_test
), verbose = 1)
答案 0 :(得分:0)
您是否尝试创建将日期移到将来的X
并在其上调用model.predict(X)
?
答案 1 :(得分:0)
答案取决于您“超出样本”的确切含义
如果您要对接下来的5个月的expenses
进行预测,因为您具有这5个月的特征(模型期望每个样本6个),那么可以,并且可以做就是使用模型的predict
方法。
如果在接下来的5个月中,每个样本都没有这6个特征,那么您就不能进行“样本外”预测,因为您将需要对模型进行训练的那些特征进行模型预测。