Python keras模型的输入格式是否应严格一致?

Python keras模型的输入格式是否应严格一致?,python,neural-network,keras,Python,Neural Network,Keras,我使用keras建立了一个神经网络来进行推荐。我使用训练数据的许多特性来拟合模型。然后我需要使用测试数据对其进行评估。通常,当使用测试数据测试推荐系统时,将使用较少的数据。所以我的问题是,keras模型fit()和evaluate()的输入格式是否应该严格一致?具体而言: fit(self, x, y, batch_size=32, nb_epoch=10, verbose=1, callbacks=[], validation_split=0.0, validation_data=No

我使用keras建立了一个神经网络来进行推荐。我使用训练数据的许多特性来拟合模型。然后我需要使用测试数据对其进行评估。通常,当使用测试数据测试推荐系统时,将使用较少的数据。所以我的问题是,keras模型
fit()
evaluate()
的输入格式是否应该严格一致?具体而言:

fit(self, x, y, batch_size=32, nb_epoch=10, verbose=1,
    callbacks=[], validation_split=0.0, validation_data=None,
    shuffle=True, class_weight=None, sample_weight=None)
evaluate(self, x, y, batch_size=32, verbose=1, sample_weight=None)
当执行
model.fit()
时,您将许多特征和信息放入输入
x
,以训练神经网络。当执行
model.evaluate()
时,就像推荐系统中的MF一样,测试数据只有较少的信息。所以
model.fit()
model.evaluate()
的输入应该是相同的格式吗


请举个简单的例子

是的,通常
fit
x
evaluate
predict
必须具有相同的格式,而
fit
evaluate
y
也必须具有相同的格式

我一定是这样。如果您的模型经过训练,可以使用训练数据中存在的某些特征来确定输出,但该特征在以后不用于预测评估,那么您的模型将如何工作


如果您有一些在培训期间使用但在预测评估期间没有使用的输入特征,您仍然需要将数据调整为相同的格式;您可以根据需要使用零填充输入,也可以使用a将输入拆分为不同的部分,并根据需要为缺失的输入提供默认值。

这似乎非常广泛。请提供更多详细信息和/或代码。拟合(self,x,y,batch_size=32,nb_epoch=10,verbose=1,callbacks=[],validation_split=0.0,validation_data=None,shuffle=True,class_weight=None,sample_weight=None)评估(self,x,y,batch_size=32,verbose=1,sample_weight=None)当你做model.fit时,你把许多特征和信息输入到输入x中来训练神经网络。当你做model.evaluate时,就像推荐系统中的MF一样,测试数据只有很少的信息。那么model.fit和model.evaluate x的输入应该是相同的格式吗?