所以我使用sklearn中的timeSeriesSplit来分割我的数据,

tscv = TimeSeriesSplit(n_splits=3)


现在我知道为了获取分割索引,我们必须在tscv.split(X)上进行迭代。我的问题是,是否可以直接到达最后一个拆分,而无需遍历拆分。该函数返回的对象不完全是一个列表,所以我不确定该怎么做?我只需要最后一次分割,因为我的数据很大,没有。分割的数量也很大。

提前致谢

最佳答案

你可以试试这个

def get_last_cv(splits):
    splits_deque = deque(splits, maxlen=1)
    last_element = splits_deque.pop()
    train,test = last_element
    return train,test


然后得到这样的索引

 train_index,test_index = get_last_cv(tscv.split(X))


其中X是您的数据

09-04 00:46