首页 > 其他分享 >细说TimeSeriesSplit​​​ 的 ​​train_index​​​ 和 ​​valid_index​

细说TimeSeriesSplit​​​ 的 ​​train_index​​​ 和 ​​valid_index​

时间:2024-09-05 16:52:40浏览次数:15  
标签:index 训练 验证 train 时间 TimeSeriesSplit valid

在时间序列数据中,TimeSeriesSplittrain_indexvalid_index 的矩阵元素数量由以下几个因素决定:

  1. 时间序列的总长度 (n_samples):即整个数据集的样本数量。train_indexvalid_index 会从中划分出不同的数据块。
  2. 划分的次数 (n_splits):定义了交叉验证要进行多少次切分。在每次切分中,训练集和验证集都会被分成不同的部分。
  3. 验证集大小:在每次切分中,验证集的大小是固定的,通常会包含一部分未来的时间步,而训练集则包括之前的所有时间步。

TimeSeriesSplit 划分逻辑

TimeSeriesSplit 会在时间序列数据中按顺序生成多个分割,每次分割时,训练集中的数据集大小逐渐增加,而验证集始终是后续的一段数据。验证集的大小通常是由数据总长度和分割次数 n_splits 决定的。

以例子为基础,假设总样本数为 n_samples = 10,划分次数 n_splits = 3TimeSeriesSplit 的划分逻辑如下:

第一次划分:
  • train_index:前面较小的部分作为训练集。假设此时训练集的长度为 5 个时间步。
  • train_index: [0, 1, 2, 3, 4]
  • valid_index:接下来的时间步作为验证集。验证集长度根据交叉验证的配置来定,这里假设是 2 个时间步。
  • valid_index: [5, 6]
第二次划分:
  • train_index:每次迭代训练集的大小会扩展,包括更多的时间步。训练集现在包含更多的时间步数据。
  • train_index: [0, 1, 2, 3, 4, 5, 6]
  • valid_index:后续的时间步作为验证集。
  • valid_index: [7, 8]
第三次划分:
  • train_index:继续增加训练集的长度,包含所有前面的时间步。
  • train_index: [0, 1, 2, 3, 4, 5, 6, 7, 8]
  • valid_index:验证集是剩下的最后一个时间步。
  • valid_index: [9]

具体矩阵元素数量如何确定:

  1. 训练集 (train_index)
  • 每次交叉验证的训练集包含从第一个时间步开始的所有时间步,直到某个时间步为止。每次迭代,训练集的大小会增加,包含所有过去的数据点。
  • 第一次划分时,训练集较小(例如 [0, 1, 2, 3, 4]),而随着每次迭代,训练集的大小会逐渐变大。
  1. 验证集 (valid_index)
  • 验证集包含未来的数据点,每次都是前面数据之后的一个连续的时间步。验证集的大小在每次交叉验证中是固定的(假设为 2 个元素),并且验证集的时间步永远不会与训练集的时间步重叠。
  • 验证集的大小由 TimeSeriesSplit 的设置自动决定。在这种分割方式下,验证集通常是比训练集“更晚”的时间步。

TimeSeriesSplit 的特点:

  • 验证集不会回溯,也就是说,验证集的数据永远位于训练集的“未来”,保证了时间序列的顺序性。
  • 训练集逐渐变大,包含了更多的历史数据。

标签:index,训练,验证,train,时间,TimeSeriesSplit,valid
From: https://blog.51cto.com/u_16396074/11929333

相关文章

  • Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Det
    AbstractInthispaper,wepresentanopen-setobjectdetector,calledGroundingDINO,bymarryingTransformer-baseddetectorDINOwithgroundedpre-training,whichcandetectarbitraryobjectswithhumaninputssuchascategorynamesorreferringexpre......
  • SDKD 2024 Summer Training Contest F2(The 13th Shandong ICPC Provincial Collegiat
    A-Orders题意每天能生产k个产品的工厂有n个订单,第i个订单是在a_i天交b_i个产品,问能否交付。思路订单按日期排序,记录剩下的商品.代码#define_CRT_SECURE_NO_WARNINGS#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintmxn=1e6+5......
  • Social Skill Training with Large Language Models
    本文是LLM系列文章,针对《SocialSkillTrainingwithLargeLanguageModels》的翻译。大型语言模型的社交技能训练摘要1引言2角色和模拟的LLM3APAM框架4安全部署愿景5技术挑战6评估7讨论8总结与展望摘要人们依靠解决冲突等社交技能进行有效沟通,......
  • vue的for循环不建议用index作为key
    我们页面总有一些相似的,我们想用循环渲染,根据对象数组结构进行渲染,这是不是很熟悉的场景。这时候我们需要有一个唯一的key绑定在循环渲染的元素上,一般情况下我们会用id,因为id是唯一的。然而有些页面要循环的数据(比如描述性的对象数组)没有id的时候,有的人会用index下标作为key,实......
  • 【mysql】SUBSTRING_INDEX 用法举例
    查询语句如下:SELECT 高工, SUBSTRING_INDEX(高工,'、',-1), --取右边第一个 SUBSTRING_INDEX(高工,'、',0), SUBSTRING_INDEX(高工,'、',1), --取左边一个(从左往右) SUBSTRING_INDEX(高工,'、',2), --取左边二个(从左往右) SUBSTRING_INDEX(高工,'、&......
  • AutoSynth: Learning to Generate 3D Training Datafor Object Point Cloud Registrat
    目录一、导言二、先导知识1、进化算法概述2、4pcs算法3、Super4PCS算法三、相关工作1、传统点云配准工作2、基于深度学习的点云配准3、生成训练数据集四、AutoSynth框架1、搜索空间2、进化算法3、代理任务模型五、实验 1、测试数据集2、BOP评估指标3、对比实......
  • SDKD 2024 Summer Training Contest E2补题
    SDKD2024SummerTrainingContestE2A-PaperWatering题意对x进行至多k次操作(平方或开方后向下取整),求可以得到多少不同的数。思路平方完一定不同,且平方完后一定能开方出整数,所以只用额外考虑开方后平方的情况。若开方再平方与原来不同,则答案加上当前变化数的次数,直到变......
  • GaLore Memory-Efficient LLM Training by Gradient Low-Rank Projection
    目录概符号说明GaLoreZhaoJ.,ZhangZ.,ChenB.,WangZ.,AnandkumarA.andTianY.GaLore:Memory-efficientllmtrainingbygradientlow-rankprojection.ICML,2024.概本文提出了一种优化器中高效的缓存策略.符号说明\(W_t\in\mathbb{R}^{m\timesn}\),参......
  • 浦语Camp3:基础4-Llamaindex RAG实践
    基础任务任务要求:基于LlamaIndex构建自己的RAG知识库,寻找一个问题A在使用LlamaIndex之前InternLM2-Chat-1.8B模型不会回答,借助LlamaIndex后InternLM2-Chat-1.8B模型具备回答A的能力,截图保存。需要A10030%内存!!!安装环境:condacreate-nllamaindexpython=3.1......
  • 使用HF Trainer微调小模型
    本文记录HugginngFace的Trainer各种常见用法。SFTTrainer的一个最简单例子HuggingFace的各种Trainer能大幅简化我们预训练和微调的工作量。能简化到什么程度?就拿我们个人用户最常会遇到的用监督学习微调语言模型任务为例,只需要定义一个SFTrainer,给定我们想要训练的模型和数据......