我有相当少量的数据,所以我决定尝试交叉验证,以便获得所有数据的预测。像这样:
for train_index, test_index in KFold(9, shuffle = True, random_state = 42).split(range(len(df))):
train_data, test_data = df[train_index], df[test_index]
train_images, test_images = images[train_index], images[test_index]
train_labels, test_labels = labels[train_index], labels[test_index]
model.fit([train_data, train_images], train_labels, epochs = 100, batch_size = 5)
model.predict([test_data, test_images])
据我了解,这样做每次都会训练一个新模型(总共 9 次)。但是,如果是这种情况,那么我的损失输出就没有意义了:
顶部的灰色曲线是第一次迭代,它从接近 1 开始,然后下降。随后的迭代都显着降低。
我想了解我在这里做错了什么——我想全面训练新网络 9 次,然后每次都得到预测。