如何解决model.fit是否在循环中工作?
我正在尝试将sklearn的TimeSeriesSplit应用于时间序列模型分类问题。下面的代码有效,但是我不确定此fit_generator是基于先前的结果还是只是重新开始学习?
tscv = TimeSeriesSplit()
for tr_index,val_index in tscv.split(X):
X_tr,X_val = X[tr_index],X[val_index]
y_tr,y_val = Y[tr_index],Y[val_index]
generator = TimeseriesGenerator(X_tr,y_tr,length=n_input,batch_size=32)
history.append(model.fit_generator(generator,epochs=100,validation_data=
TimeseriesGenerator(X_val,y_val,batch_size=32),verbose=2))
解决方法
一些注意事项:
-
是,在X的每个分割处(检查以查看TSVC中的默认分割数应为5),将创建新的训练和验证集,因此将开始新的训练课程。即使只有一个拆分,for循环也会变得多余,但是代码不会失败。
-
model.fit_generator()
已从TensorFlow 2.1开始弃用,取而代之的是model.fit()
。您可能要选择后者。
更新:
您可以在documentation中看到拆分次数为5。因此,您将拥有5个不同的网络,所有这些网络都从头开始。
https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.TimeSeriesSplit.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。