在Keras'中,validation_data和validation_split之间的关系是什么?适合功能?

时间:2017-07-15 10:46:04

标签: machine-learning tensorflow keras

validation_split说:" 嘿,它给我所有的输入数据 - 我将负责在测试和验证之间进行拆分"。

model.fit(inputX, inputY, validation_split=0.20, epochs=10, batch_size=10)

validation_data说" 请明确告诉我验证数据"

model.fit(inputX, inputY, validation_data=(testX,testY), epochs=10, batch_size=10)

除了我的理解之外,是否有任何隐藏的伎俩或遗漏的东西?

4 个答案:

答案 0 :(得分:2)

不,一切都是正确的。这种分离背后的一个潜在原因是,人们有时会分别获得培训和验证数据(在许多学术数据集中),有时您拥有所有数据,并且可以随意拆分。

答案 1 :(得分:1)

您的理解是正确的。要添加更多详细信息- v alidation_split keras函数使用户可以轻松地将训练数据集分为训练和验证(节省您的自定义工作)。

例如-设置 validation_split = 0.2 ,告诉keras在改组进行验证之前使用最后20%的数据。

答案 2 :(得分:1)

在处理不平衡的数据集时,我只会添加一些重要的内容。使用 validation_split 不会保留每个类的百分比。通常,您将执行自己的 validation_data ,因此您要保留这些百分比。 此外,我建议StratifiedShuffleSplit这样做。

答案 3 :(得分:0)

如果使用validation_data选项,则需要准备验证数据并分别训练数据,这将花费更多的精力。之后,validation_split选项允许您仅输入整堆数据并将其拆分到内部。以某种方式,最好节省时间。