【问题标题】:Is there a way to get a Sliding Nested Cross Validation using SKlearn?有没有办法使用 SKlearn 获得滑动嵌套交叉验证?
【发布时间】:2019-10-29 06:53:17
【问题描述】:

我目前正在处理一些时间序列数据,我正在使用TimeSeriesSplit 将我的数据集拆分为前向链接交叉验证拆分。

所以如果我有 100 个数据点 - 我分成 3 个部分。 1.我在1-25训练。在 26-50 进行测试。 2. 1-50 训练。测试 51-75。 3. 1-75 训练。在 76-100 上进行测试。

将此称为扩展窗口示例。

我想知道是否有一种方法可以在我每次训练时将训练窗口向前滑动,这样它就不会从 0 开始。我正在尝试实现类似于图表的滑动窗口场景

【问题讨论】:

    标签: python scikit-learn time-series cross-validation


    【解决方案1】:

    不幸的是,sklearn 中没有专门用于时间序列交叉验证的滑动窗口 CV。但是,使用带有参数shuffle=False 的 StratifiedKFold 或 KFold 可以模拟非随机化。请注意,这也适用于 train_test_split,这对于时间序列数据也很有用。

    这里是用于可视化各种交叉验证行为的 sklearn 文档页面:

    https://scikit-learn.org/stable/auto_examples/model_selection/plot_cv_indices.html#sphx-glr-auto-examples-model-selection-plot-cv-indices-py

    另一种方法是使用 Python pandascollections 库按索引进行拆分。 Pandas 对时间序列相关的概念也有很好的支持,例如滚动窗口。

    【讨论】:

      猜你喜欢
      • 2018-02-03
      • 2021-02-10
      • 2020-07-14
      • 2017-03-16
      • 2012-12-31
      • 2017-12-22
      • 2018-08-16
      • 2015-06-11
      • 1970-01-01
      相关资源
      最近更新 更多