网上有很多例子展示了如何使用 TimeSeriesSplit 创建多个训练/测试集。但是,他们没有展示如何在实践中实际聚合这些。
例如,这是从 scikit-learn 文档中提供的:
from sklearn.model_selection import TimeSeriesSplit
X = np.array([[1, 2], [3, 4], [1, 2], [3, 4], [1, 2], [3, 4]])
y = np.array([1, 2, 3, 4, 5, 6])
tscv = TimeSeriesSplit(n_splits=5)
for train_index, test_index in tscv.split(X):
print("TRAIN:", train_index, "TEST:", test_index)
X_train, X_test = X[train_index], X[test_index]
y_train, y_test = y[train_index], y[test_index]
产生结果:
火车:[0] 测试:[1]
火车:[0 1] 测试:[2]
火车:[0 1 2] 测试:[3]
火车:[0 1 2 3] 测试:[4]
火车:[0 1 2 3 4] 测试:[5]
然而,目前尚不清楚如何在训练方案中实际利用这些多重分割。我可以单独使用每个,但是未来的培训师不会从之前的拆分中受益。现在我最好的猜测是将所有拆分组合在一起工作?所以我只剩下:
火车:[0, 0, 1, 0, 1, 2, 0, 1, 2, 3, 0, 1, 2, 3, 4] 测试 [1, 2, 3, 4, 5]
还是我还缺少其他东西?