首页 > 其他分享 >时间序列、时序TimeSeriesSplit&GridGridSearchCV

时间序列、时序TimeSeriesSplit&GridGridSearchCV

时间:2022-10-14 18:44:53浏览次数:50  
标签:GridGridSearchCV 时序 test train 400 np import TimeSeriesSplit 500

 

此外,可看看这个:

https://blog.csdn.net/qq_35649669/article/details/104793484

https://www.cnblogs.com/Li-JT/p/16792521.html

#链接:https://www.zhihu.com/question/316884123/answer/2271867939

# -*- coding: utf-8 -*- 
# @Time : 2021/12/21 13:42 
# @Author : Orange
# @File : test.py.py
from xgboost import XGBRegressor
from sklearn.model_selection import GridSearchCV, TimeSeriesSplit
import numpy as np
import matplotlib.pyplot as plt


# 以xgboost为例,给出时间序列的GridSearchCV结合TimeSeriesSplit的调参

def train(x_train, y_train):
    my_cv = TimeSeriesSplit(n_splits=4).split(x_train)
    cv_params = {'n_estimators': [6, 7, 8, 10, 20], 'learning_rate': [0.01, 0.1, 0.3,0.9,1], 'max_depth': [4, 5, 6, 7, 8],
                 'min_child_weight': [4, 5, 6, 7, 8], 'gamma': [1, 3], 'reg_alpha': [0.1, 0.3]}
    other_params = {'learning_rate': 0.1, 'n_estimators': 90, 'max_depth': 7, 'min_child_weight': 4, 'seed': 0,
                    'subsample': 1, 'colsample_bytree': 0.9, 'gamma': 1, 'reg_alpha': 0.1, "lambda": 0.9}
    model = XGBRegressor(**other_params)
    optimized_GBM = GridSearchCV(estimator=model, param_grid=cv_params, scoring='neg_mean_absolute_error', cv=my_cv)
    optimized_GBM.fit(np.array(x_train), np.array(y_train))
    model = optimized_GBM.best_estimator_
    print('参数的最佳取值:{0}'.format(optimized_GBM.best_params_))
    return model


if __name__ == '__main__':
    data = np.sin(np.arange(0, 1000) * 0.05) * 10 + np.random.randn(1000)

    # 取当前时间为第500个数据所在的时刻
    # 特征取前500个数据,利用前500个数据预测后500个数据
    X = data[:500].reshape(500, 1)
    Y = data[500:]

    X_train = X[:400]   
    X_test = X[400:]
    Y_train = Y[:400]
    Y_test = Y[400:]

    model = train(X_train, Y_train)
    Y_hat = model.predict(X_test)
    plt.figure()
    plt.plot(Y_test)
    plt.plot(Y_hat)
    plt.legend(['Y_test', 'Y_hat'])
    plt.show()

  

 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

data = np.sin(np.arange(0, 1000) * 0.05) * 10 + np.random.randn(1000)
print(data.shape)#shape为:(1000,);

# 取当前时间为第500个数据所在的时刻
# 特征取前500个数据,利用前500个数据预测后500个数据
X = data[:500]
Y = data[500:]
print(X[:5])
X_train = X[:400]
X_test = X[400:]
Y_train = Y[:400]
Y_test = Y[400:]
#输出:
(1000,)
[-0.30297777  0.12789509  0.86609582  1.01907432  1.14387907]

  

标签:GridGridSearchCV,时序,test,train,400,np,import,TimeSeriesSplit,500
From: https://www.cnblogs.com/Li-JT/p/16792616.html

相关文章

  • 时序逻辑——锁存与触发
    疑问;触发器在时序逻辑的哪一步被应用触发器如何保证在边沿改变目录锁存器/触发器动态特性t锁存器/触发器锁存器是去掉输入信号,仍能保持状态的,直到改变信号触发器......
  • [答疑精选]EA能否把时序图转为协作图(2016/4/19)
    EA能否把时序图转为协作图海贼王Fans!!(94***37)23:35:49EA能否把时序图转为协作图。时序图是个以时间为维度的视角。协作图是以位置为维度的视角。时序和协作不能转的话,重......
  • STA-静态时序分析学习记录-1
    cell的传播延时是根据电平转换波形上的某些测量点定义的,使用以下四个变量定义这些测量点#输入端口下降沿阙值input_threshold_pct_fall:50.0;#输入端口上升沿阙值in......
  • 计算机视觉与图形学-神经渲染专题-动态场景下的时序视图合成
    在低计算设备上渲染高帧速率视频的问题可以通过定期预测未来帧来解决,以增强虚拟现实应用程序中的用户体验。这是通过时间视图合成(TVS)问题来研究的,其目标是在给定前一帧以及......
  • 程序块(Program Block)和时序区域(Timing Region)
    设计和测试平台都用module封装后,它们之间可能会出现竞争状态。这个问题的根源在于设计和测试平台的事件混合在同一个时间片内,我们希望存在一种方法可以在时间轴上分开这些......
  • 如何使用pandas中的时序数据分组运算
    https://www.zhihu.com/search?type=content&q=Pandas聚合时间序列数据注意以下的聚合是从当前时间点往后一段时间计算的。tmp_group=ori_data.groupby(['cols',pd.Gr......
  • 第六章 时序电路
    一、时序电路的分析1)分析2)寄存器与移位寄存器3)计数器-》分类:同步计数器、异步计数器-》同步计数器分析 ......
  • 时序分类、预测和预训练相关最新论文间读
    目录1Omni-ScaleCNNs:asimpleandeffectivekernelsizeconfigurationfortimeseriesclassification(ICLR2022) 2FlexConv:ContinuousKernelConvolutio......
  • 时序分析12讲 input delay 边沿对齐带有DDR-PLL的情况
        灰色这部分是数据跳变的位置,存在一定的不稳定性,左端最小延时,右边最大延时bre上升沿之前,are上升沿之后,bfe下降沿bfa下降沿  主要讲带PLL的情况......
  • 时序分析 11讲 DDR input delay
    千兆以太网和FPGA交互的接口就是DDR的双沿采样DDR的DRAM也是双沿采样ADCCMOS的一些芯片这些和FPGA交互的接口都是DDR接口 SCRDDR-DIRECT-一个周期上升沿和下降......