我已经训练了一个模型并在fit方法上使用validation_split=0.2
,如下所示:
history = model.fit(X, Y, validation_split=0.2, epochs=700, batch_size=10, verbose=1,callbacks=[tb, checkpoint])
最佳权重保存为hdf5文件。由于数据的分割是由Keras validation_split完成的,所以我没有可用的测试集。如何在没有测试集的情况下绘制混淆矩阵?
答案 0 :(得分:1)
validation_split:在0和1之间浮动。训练数据的分数 用作验证数据。该模型将分开这一部分 培训数据,不会对其进行培训,并将评估损失 以及每个时代结束时此数据的任何模型指标。该 从x和y数据中的最后样本中选择验证数据 在洗牌之前提供。
因此,您可以通过获取X的最后20%来轻松地自行计算验证数据。
source code似乎就是这样做的:
elif validation_split and 0. < validation_split < 1.:
do_validation = True
if hasattr(x[0], 'shape'):
split_at = int(x[0].shape[0] * (1. - validation_split))
else:
split_at = int(len(x[0]) * (1. - validation_split))
x, val_x = (_slice_arrays(x, 0, split_at), _slice_arrays(x, split_at))
y, val_y = (_slice_arrays(y, 0, split_at), _slice_arrays(y, split_at))
首先得到分裂指数(样本数* 0.8),然后将以下部分作为验证。