Python 是否有一种使用SKlearn获得滑动嵌套交叉验证的方法?
我目前正在处理一些时间序列数据,我正在使用Python 是否有一种使用SKlearn获得滑动嵌套交叉验证的方法?,python,scikit-learn,time-series,cross-validation,Python,Scikit Learn,Time Series,Cross Validation,我目前正在处理一些时间序列数据,我正在使用TimeSeriesSplit将我的数据集拆分为正向链接交叉验证拆分 所以如果我有100个数据点-我分成3个部分。 1.我在1-25号列车上训练。26-50的测试。 2.坐1-50的火车。在51-75上测试。 3.坐1-75路列车。在76-100上测试 称之为扩展窗口示例 我想知道是否有办法在每次训练时向前滑动训练窗口,这样就不会从0开始。我试图实现类似于图的滑动窗口场景 不幸的是,sklearn中没有专门用于时间序列交叉验证的滑动窗口CV。但是,使用带
TimeSeriesSplit
将我的数据集拆分为正向链接交叉验证拆分
所以如果我有100个数据点-我分成3个部分。
1.我在1-25号列车上训练。26-50的测试。
2.坐1-50的火车。在51-75上测试。
3.坐1-75路列车。在76-100上测试
称之为扩展窗口示例
我想知道是否有办法在每次训练时向前滑动训练窗口,这样就不会从0开始。我试图实现类似于图的滑动窗口场景
不幸的是,sklearn中没有专门用于时间序列交叉验证的滑动窗口CV。但是,使用带有参数
shuffle=False
的StratifiedKFold或KFold可以模拟非随机化。请注意,这也适用于列车测试分割
,这也适用于时间序列数据
以下是sklearn文档页面,用于可视化各种交叉验证行为:
另一种方法是使用Pythonpandas
或collections
库按索引分割。熊猫对时间序列相关概念也有很好的支持,比如滚动窗口