如何解决在K折交叉验证中在哪里在喀拉拉邦创建模型对象?
在哪里创建Keras模型对象,在K形折叠循环内还是在外部? 请解释为什么您的答案是正确的。
def model_def():
model = Sequential()
model.add(.... so on....)
model.compile(....so on ....)
return model
案例1:-在K形折叠循环中,因此每个循环都要重新创建
for train_index,test_index in kf.split(X,Y):
model = model_def()
model.fit(X[train_index],Y[test_index] ..... so on .....
或者, 情况2:-在循环之外,因此所有折叠循环都只有一个模型对象
model = model_def()
for train_index,Y):
model.fit(X[train_index],Y[test_index] ..... so on .....
解决方法
内部。
对于每一折,您都需要一个全新的模型。这意味着您的模型无法通过其他折页的数据来学习任何权重(如果您在内部进行折叠,则会发生这种情况,因为在每个折页中您都在同一实例上进行操作)。 k折学习的重点是检查模型在数据集的一小部分上的表现,因此它不应包含有关其他折数据的任何信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。