我在keras
中实现了一个神经网络,其结构如下:
model = Sequential([... layers ...])model.compile(optimizer=..., loss=...)hist=model.fit(x=X,y=Y, validation_split=0.1, epochs=100)
我想知道是否可以从model
或hist
中提取出训练和验证集?也就是说,我想知道X
和Y
中哪些索引被用于训练,哪些被用于验证。
回答:
Keras 将数据集分割在
split_at = int(x[0].shape * (1-validation_split))
为训练和验证部分。因此,如果你有n
个样本,前int(n*(1-validation_split))
个样本将是训练样本,其余的将是验证集。
如果你想要更多的控制,你可以自己分割数据集,并通过参数validation_data
传递验证数据集:
model.fit(train_x, train_y, …, validation_data=(validation_x, validation_y))