如何在Keras中提取训练和验证集?

yoh*_*hai 2 machine-learning keras

我实现了一个神经网络keras,具有以下结构:

model = Sequential([... layers ...])
model.compile(optimizer=..., loss=...)
hist=model.fit(x=X,y=Y, validation_split=0.1, epochs=100)
Run Code Online (Sandbox Code Playgroud)

有没有办法从任一提取modelhist火车和验证集?也就是说,我想知道哪些指标的XY被用于训练和被用于验证.

YSe*_*elf 6

Keras 将数据集拆分

split_at = int(x[0].shape * (1-validation_split))
Run Code Online (Sandbox Code Playgroud)

进入火车和验证部分.因此,如果您有n样本,则第一个int(n*(1-validation_split))样本将是训练样本,其余样本是验证集.

如果您想要更多控制,可以自己拆分数据集并使用参数传递验证数据集validation_data:

model.fit(train_x, train_y, …, validation_data=(validation_x, validation_y))
Run Code Online (Sandbox Code Playgroud)