From 704e49b29f033308755cefd75acfcb80f4d1b476 Mon Sep 17 00:00:00 2001 From: liurui Date: Tue, 12 Nov 2024 17:48:57 +0800 Subject: [PATCH] =?UTF-8?q?main=E5=88=A4=E6=96=AD=E9=A2=84=E6=B5=8B?= =?UTF-8?q?=E7=9B=AE=E6=A0=87=E8=BF=9B=E8=A1=8Ceta=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config_jingbo.py | 34 +++++++++++++++++----------------- config_juxiting.py | 2 +- dataset/jbsh_yuanyou.db | Bin 73728 -> 77824 bytes lib/dataread.py | 4 ++-- main.py | 13 +++++++------ models/nerulforcastmodels.py | 6 ++++-- 6 files changed, 31 insertions(+), 28 deletions(-) diff --git a/config_jingbo.py b/config_jingbo.py index 5b6111b..00af907 100644 --- a/config_jingbo.py +++ b/config_jingbo.py @@ -155,30 +155,30 @@ upload_data = { ### 线上开关 -is_train = True # 是否训练 -is_debug = False # 是否调试 -is_eta = True # 是否使用eta接口 -is_timefurture = True # 是否使用时间特征 -is_fivemodels = False # 是否使用之前保存的最佳的5个模型 -is_edbcode = False # 特征使用edbcoding列表中的 -is_edbnamelist = False # 自定义特征,对应上面的edbnamelist -is_update_eta = True # 预测结果上传到eta -is_update_report = True # 是否上传报告 - -### 开关 # is_train = True # 是否训练 # is_debug = False # 是否调试 -# is_eta = False # 是否使用eta接口 +# is_eta = True # 是否使用eta接口 # is_timefurture = True # 是否使用时间特征 # is_fivemodels = False # 是否使用之前保存的最佳的5个模型 # is_edbcode = False # 特征使用edbcoding列表中的 # is_edbnamelist = False # 自定义特征,对应上面的edbnamelist -# is_update_eta = False # 预测结果上传到eta -# is_update_report = False # 是否上传报告 +# is_update_eta = True # 预测结果上传到eta +# is_update_report = True # 是否上传报告 + +### 开关 +is_train = True # 是否训练 +is_debug = False # 是否调试 +is_eta = False # 是否使用eta接口 +is_timefurture = True # 是否使用时间特征 +is_fivemodels = False # 是否使用之前保存的最佳的5个模型 +is_edbcode = False # 特征使用edbcoding列表中的 +is_edbnamelist = False # 自定义特征,对应上面的edbnamelist +is_update_eta = False # 预测结果上传到eta +is_update_report = False # 是否上传报告 # 数据截取日期 -end_time = '' # 数据截取日期 +end_time = '2024-10-29' # 数据截取日期 delweekenday = True is_corr = False # 特征是否参与滞后领先提升相关系数 add_kdj = False # 是否添加kdj指标 @@ -212,8 +212,8 @@ db_name = os.path.join(dataset,'jbsh_yuanyou.db') settings = f'{input_size}-{horizon}-{train_steps}--{k}-{data_set}-{y}' # 获取日期时间 -# now = datetime.datetime.now().strftime('%Y%m%d%H%M%S') # 获取当前日期时间 -now = datetime.datetime.now().strftime('%Y-%m-%d') # 获取当前日期时间 +now = datetime.datetime.now().strftime('%Y%m%d%H%M%S') # 获取当前日期时间 +# now = datetime.datetime.now().strftime('%Y-%m-%d') # 获取当前日期时间 reportname = f'Brent原油大模型预测--{now}.pdf' # 报告文件名 reportname = reportname.replace(':', '-') # 替换冒号 diff --git a/config_juxiting.py b/config_juxiting.py index bcb9242..ad56a94 100644 --- a/config_juxiting.py +++ b/config_juxiting.py @@ -211,7 +211,7 @@ upload_data = { ### 开关 is_train = True # 是否训练 is_debug = False # 是否调试 -is_eta = False # 是否使用eta接口 +is_eta = True # 是否使用eta接口 is_timefurture = True # 是否使用时间特征 is_fivemodels = False # 是否使用之前保存的最佳的5个模型 is_edbcode = False # 特征使用edbcoding列表中的 diff --git a/dataset/jbsh_yuanyou.db b/dataset/jbsh_yuanyou.db index 3a66f2882401368820446a1d454315fe72671975..b25a192d171d07e72683ae64e29a622e6ea70e3c 100644 GIT binary patch delta 26065 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 delta 24843 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