我正在使用以下 fit 函数:
history = model.fit(x=[X1_train, X2_train, X3_train],
y=y_train,
batch_size=50,
epochs=20,
verbose=2,
validation_split=0.3,
#validation_data=([X1_test, X2_test, X3_test], y_test),
class_weight={0:1, 1:10})
,并且平均val_acc为0.7。但是,当再次运行时,这次使用validation_data选项(使用我保留的同一数据集中的数据,大小约为火车数据的30%),我得到的平均val_acc为0.35。有什么理由得到这种差异?
答案 0 :(得分:0)
根据OP的要求,我将发表评论作为答案,并尝试详细说明:
设置validation_split
参数时,将从训练数据和标签(即X_train
和y_train
)的最后一个样本中选择验证样本。现在,在这种特定情况下,如果这些选定样本中类别标签的比例与您使用validation_data
参数提供的数据中类别标签的比例不同,那么您不必一定会期望验证损失在这两种情况下要相同。那仅仅是因为您的模型在每个类上的准确性可能不同。