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)
除了我的理解之外,还有什么隐藏的技巧或我遗漏的东西吗?
5条答案
按热度按时间v9tzhpje1#
不,一切都是正确的。这种分离背后的一个潜在原因是,有时人们分别拥有训练和验证数据(在许多学术数据集中),而有时你拥有所有数据,可以按自己的意愿进行拆分。
hgc7kmma2#
您的理解是正确的。要添加更多详细信息,请使用-validation_splitkeras函数,用户可以轻松地将训练数据集拆分为训练和验证(节省您的自定义工作)。
例如,- setting***validation_split=0.2***,告诉keras在进行验证洗牌之前使用最后20%的数据。
gudnpqoy3#
在处理不平衡的数据集时,我将添加一些重要的东西。使用***validation_split***不会保留每个类的百分比。通常,您将自己执行***validation_data***,以便保留这些百分比。此外,我建议StratifiedShuffleSplit这样做。
gstyhher4#
如果你使用validation_data选项,你需要分别准备validation数据和train数据,这会花费更多的精力。然后,validation_split选项允许你只输入一整串数据,然后在里面拆分它。无论如何,这是更好地保存时间。
olhwl3o25#
你说得对,但这里有个小错误,
“嘿,给予我所有的输入数据-我将负责测试和验证之间的分离”
应为:
“嘿,给予我所有的输入数据-我将处理训练和验证之间的拆分”
因为它实际上将数据集拆分为两部分;训练数据集和验证数据集。
最后,使用测试集计算模型的得分。