2 Matching Annotations
  1. Jul 2025
    1. class sklearn.model_selection.TimeSeriesSplit(n_splits=5, *, max_train_size=None, test_size=None, gap=0)

      定义在 sklearn.model_selection 模块里的Python class 一个负责如何划分数据集以便“基于时间顺序评估模型”的控制器

      ps. 这里的 * 表示:

      它前面的参数 n_splits 是 位置或关键字参数(可以写成 tscv = TimeSeriesSplit(3) 或 TimeSeriesSplit(n_splits=3))。

      而 * 后的参数 max_train_size, test_size, gap 都是 关键字-only,只能写成 test_size=10,不能写成像 ..., None, 10 那样的位置形式。

    1. successive training sets are supersets of those that come before them.

      superset

      与普通的交叉验证方法(如 KFold、ShuffleSplit 等)相比,TimeSeriesSplit 的各个训练集是逐折累积的,即后面的训练集包含前面训练集中的所有数据(并越来越大)。

      TimeSeriesSplit:用于时间序列数据,训练集随着折数增加而 不断扩张(expanding window)。也就是说:

      第一折训练集仅包含最早的一批数据;

      第二折训练集包含第一折的所有数据再+新增的一部分;

      第三折训练集则包含前两折所有数据再+新增一部分;