聚烯烃配置更新
This commit is contained in:
parent
68ec1c8ffb
commit
830f369dc6
@ -1,3 +1,4 @@
|
|||||||
|
from decimal import Decimal
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import logging.handlers
|
import logging.handlers
|
||||||
@ -86,7 +87,6 @@ bdwdname = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
modelsindex = [{
|
modelsindex = [{
|
||||||
'NHITS': 'SELF0000077',
|
'NHITS': 'SELF0000077',
|
||||||
'Informer': 'SELF0000078',
|
'Informer': 'SELF0000078',
|
||||||
@ -137,140 +137,138 @@ data = {
|
|||||||
ClassifyId = 1161
|
ClassifyId = 1161
|
||||||
|
|
||||||
|
|
||||||
|
# # 变量定义--线上环境
|
||||||
# 变量定义--线上环境
|
# server_host = '10.200.32.39'
|
||||||
server_host = '10.200.32.39'
|
# login_pushreport_url = "http://10.200.32.39/jingbo-api/api/server/login"
|
||||||
login_pushreport_url = "http://10.200.32.39/jingbo-api/api/server/login"
|
# upload_url = "http://10.200.32.39/jingbo-api/api/analysis/reportInfo/researchUploadReportSave"
|
||||||
upload_url = "http://10.200.32.39/jingbo-api/api/analysis/reportInfo/researchUploadReportSave"
|
# upload_warning_url = "http://10.200.32.39/jingbo-api/api/basicBuiness/crudeOilWarning/save"
|
||||||
upload_warning_url = "http://10.200.32.39/jingbo-api/api/basicBuiness/crudeOilWarning/save"
|
# query_data_list_item_nos_url = f"http://{server_host}/jingbo-api/api/warehouse/dwDataItem/queryDataListItemNos"
|
||||||
query_data_list_item_nos_url = f"http://{server_host}/jingbo-api/api/warehouse/dwDataItem/queryDataListItemNos"
|
# # 上传数据项值
|
||||||
# 上传数据项值
|
# push_data_value_list_url = f"http://{server_host}/jingbo-api/api/dw/dataValue/pushDataValueList"
|
||||||
push_data_value_list_url = f"http://{server_host}/jingbo-api/api/dw/dataValue/pushDataValueList"
|
# # 上传停更数据到市场信息平台
|
||||||
上传停更数据到市场信息平台
|
# push_waring_data_value_list_url = f"http://{server_host}/jingbo-api/api/basicBuiness/crudeOilWarning/crudeSaveOrupdate"
|
||||||
push_waring_data_value_list_url = f"http://{server_host}:8080/jingbo-dev/api/basicBuiness/crudeOilWarning/crudeSaveOrupdate"
|
# # 获取预警数据中取消订阅指标ID
|
||||||
获取预警数据中取消订阅指标ID
|
# get_waring_data_value_list_url = f"http://{server_host}/jingbo-api/api/basicBuiness/crudeOilWarning/dataList"
|
||||||
get_waring_data_value_list_url = f"http://{server_host}:8080/jingbo-dev/api/basicBuiness/crudeOilWarning/dataList"
|
|
||||||
|
|
||||||
|
|
||||||
login_data = {
|
# login_data = {
|
||||||
"data": {
|
# "data": {
|
||||||
"account": "api_dev",
|
# "account": "api_dev",
|
||||||
"password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=",
|
# "password": "ZTEwYWRjMzk0OWJhNTlhYmJlNTZlMDU3ZjIwZjg4M2U=",
|
||||||
"tenantHashCode": "8a4577dbd919675758d57999a1e891fe",
|
# "tenantHashCode": "8a4577dbd919675758d57999a1e891fe",
|
||||||
"terminal": "API"
|
# "terminal": "API"
|
||||||
},
|
# },
|
||||||
"funcModule": "API",
|
# "funcModule": "API",
|
||||||
"funcOperation": "获取token"
|
# "funcOperation": "获取token"
|
||||||
}
|
# }
|
||||||
|
|
||||||
|
|
||||||
upload_data = {
|
# upload_data = {
|
||||||
"funcModule":'研究报告信息',
|
# "funcModule": '研究报告信息',
|
||||||
"funcOperation":'上传聚烯烃PP价格预测报告',
|
# "funcOperation": '上传聚烯烃PP价格预测报告',
|
||||||
"data":{
|
# "data": {
|
||||||
"groupNo":'000211' # 用户组编号
|
# "groupNo": '000211' # 用户组编号
|
||||||
"ownerAccount":'36541', #报告所属用户账号 36541 - 贾青雪
|
# "ownerAccount": '36541', # 报告所属用户账号 36541 - 贾青雪
|
||||||
"reportType":'OIL_PRICE_FORECAST', # 报告类型,固定为OIL_PRICE_FORECAST
|
# "reportType": 'OIL_PRICE_FORECAST', # 报告类型,固定为OIL_PRICE_FORECAST
|
||||||
"fileName": '', #文件名称
|
# "fileName": '', # 文件名称
|
||||||
"fileBase64": '' ,#文件内容base64
|
# "fileBase64": '', # 文件内容base64
|
||||||
"categoryNo":'jxtjgycbg', # 研究报告分类编码
|
# "categoryNo": 'jxtjgycbg', # 研究报告分类编码
|
||||||
"smartBusinessClassCode":'JXTJGYCBG', #分析报告分类编码
|
# "smartBusinessClassCode": 'JXTJGYCBG', # 分析报告分类编码
|
||||||
"reportEmployeeCode":"E40482" ,# 报告人 E40482 - 管理员 0000027663 - 刘小朋
|
# "reportEmployeeCode": "E40482", # 报告人 E40482 - 管理员 0000027663 - 刘小朋
|
||||||
"reportDeptCode" :"JXTJGYCBG", # 报告部门 - 002000621000 SH期货研究部
|
# "reportDeptCode": "JXTJGYCBG", # 报告部门 - 002000621000 SH期货研究部
|
||||||
"productGroupCode":"RAW_MATERIAL" # 商品分类
|
# "productGroupCode": "RAW_MATERIAL" # 商品分类
|
||||||
}
|
# }
|
||||||
}
|
# }
|
||||||
|
|
||||||
warning_data = {
|
# warning_data = {
|
||||||
"funcModule": '原油特征停更预警',
|
# "funcModule": '原油特征停更预警',
|
||||||
"funcOperation": '原油特征停更预警',
|
# "funcOperation": '原油特征停更预警',
|
||||||
"data": {
|
# "data": {
|
||||||
"groupNo": "000211",
|
# "groupNo": "000211",
|
||||||
'WARNING_TYPE_NAME': '特征数据停更预警',
|
# 'WARNING_TYPE_NAME': '特征数据停更预警',
|
||||||
'WARNING_CONTENT': '',
|
# 'WARNING_CONTENT': '',
|
||||||
'WARNING_DATE': ''
|
# 'WARNING_DATE': ''
|
||||||
}
|
# }
|
||||||
}
|
# }
|
||||||
|
|
||||||
query_data_list_item_nos_data = {
|
# query_data_list_item_nos_data = {
|
||||||
"funcModule": "数据项",
|
# "funcModule": "数据项",
|
||||||
"funcOperation": "查询",
|
# "funcOperation": "查询",
|
||||||
"data": {
|
# "data": {
|
||||||
"dateStart":"20200101",
|
# "dateStart": "20200101",
|
||||||
"dateEnd":"20241231",
|
# "dateEnd": "20241231",
|
||||||
"dataItemNoList":["Brentzdj","Brentzgj"] # 数据项编码,代表 brent最低价和最高价
|
# "dataItemNoList": ["Brentzdj", "Brentzgj"] # 数据项编码,代表 brent最低价和最高价
|
||||||
}
|
# }
|
||||||
}
|
# }
|
||||||
|
|
||||||
|
|
||||||
push_data_value_list_data = {
|
# push_data_value_list_data = {
|
||||||
"funcModule": "数据表信息列表",
|
# "funcModule": "数据表信息列表",
|
||||||
"funcOperation": "新增",
|
# "funcOperation": "新增",
|
||||||
"data": [
|
# "data": [
|
||||||
{"dataItemNo": "91230600716676129",
|
# {"dataItemNo": "91230600716676129",
|
||||||
"dataDate": "20230113",
|
# "dataDate": "20230113",
|
||||||
"dataStatus": "add",
|
# "dataStatus": "add",
|
||||||
"dataValue": 100.11
|
# "dataValue": 100.11
|
||||||
},
|
# },
|
||||||
{"dataItemNo": "91230600716676129P|ETHYL_BEN|CAPACITY",
|
# {"dataItemNo": "91230600716676129P|ETHYL_BEN|CAPACITY",
|
||||||
"dataDate": "20230113",
|
# "dataDate": "20230113",
|
||||||
"dataStatus": "add",
|
# "dataStatus": "add",
|
||||||
"dataValue": 100.55
|
# "dataValue": 100.55
|
||||||
},
|
# },
|
||||||
{"dataItemNo": "91230600716676129P|ETHYL_BEN|CAPACITY",
|
# {"dataItemNo": "91230600716676129P|ETHYL_BEN|CAPACITY",
|
||||||
"dataDate": "20230113",
|
# "dataDate": "20230113",
|
||||||
"dataStatus": "add",
|
# "dataStatus": "add",
|
||||||
"dataValue": 100.55
|
# "dataValue": 100.55
|
||||||
}
|
# }
|
||||||
]
|
# ]
|
||||||
}
|
# }
|
||||||
|
|
||||||
|
|
||||||
push_waring_data_value_list_data = {
|
# push_waring_data_value_list_data = {
|
||||||
"data": {
|
# "data": {
|
||||||
"crudeOilWarningDtoList": [
|
# "crudeOilWarningDtoList": [
|
||||||
{
|
# {
|
||||||
"lastUpdateDate": "20240501",
|
# "lastUpdateDate": "20240501",
|
||||||
"updateSuspensionCycle": 1,
|
# "updateSuspensionCycle": 1,
|
||||||
"dataSource": "9",
|
# "dataSource": "9",
|
||||||
"frequency": "1",
|
# "frequency": "1",
|
||||||
"indicatorName": "美元指数",
|
# "indicatorName": "美元指数",
|
||||||
"indicatorId": "myzs001",
|
# "indicatorId": "myzs001",
|
||||||
"warningDate": "2024-05-13"
|
# "warningDate": "2024-05-13"
|
||||||
}
|
# }
|
||||||
],
|
# ],
|
||||||
"dataSource": "9"
|
# "dataSource": "9"
|
||||||
},
|
# },
|
||||||
"funcModule": "商品数据同步",
|
# "funcModule": "商品数据同步",
|
||||||
"funcOperation": "同步"
|
# "funcOperation": "同步"
|
||||||
}
|
# }
|
||||||
|
|
||||||
|
|
||||||
get_waring_data_value_list_data = {
|
# get_waring_data_value_list_data = {
|
||||||
"data": "9", "funcModule": "商品数据同步", "funcOperation": "同步"}
|
# "data": "9", "funcModule": "商品数据同步", "funcOperation": "同步"}
|
||||||
|
|
||||||
|
|
||||||
# 八大维度数据项编码
|
# # 八大维度数据项编码
|
||||||
bdwd_items = {
|
# bdwd_items = {
|
||||||
'ciri': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE',
|
# 'ciri': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE',
|
||||||
'benzhou': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE01',
|
# 'benzhou': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE01',
|
||||||
'cizhou': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE02',
|
# 'cizhou': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE02',
|
||||||
'gezhou': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE03',
|
# 'gezhou': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE03',
|
||||||
'ciyue': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE04',
|
# 'ciyue': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE04',
|
||||||
'cieryue': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE05',
|
# 'cieryue': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE05',
|
||||||
'cisanyue': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE06',
|
# 'cisanyue': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE06',
|
||||||
'cisiyue': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE07',
|
# 'cisiyue': '91371600MAC3TYFN6M|LSBM00007|FORECAST_PRICE07',
|
||||||
}
|
# }
|
||||||
|
|
||||||
|
|
||||||
# 生产环境数据库
|
# # 生产环境数据库
|
||||||
host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com'
|
# host = 'rm-2zehj3r1n60ttz9x5.mysql.rds.aliyuncs.com'
|
||||||
port = 3306
|
# port = 3306
|
||||||
dbusername ='jingbo'
|
# dbusername = 'jingbo'
|
||||||
password = 'shihua@123'
|
# password = 'shihua@123'
|
||||||
dbname = 'jingbo'
|
# dbname = 'jingbo'
|
||||||
table_name = 'v_tbl_crude_oil_warning'
|
# table_name = 'v_tbl_crude_oil_warning'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 变量定义--测试环境
|
# 变量定义--测试环境
|
||||||
@ -408,6 +406,20 @@ password = '123456'
|
|||||||
dbname = 'jingbo_test'
|
dbname = 'jingbo_test'
|
||||||
table_name = 'v_tbl_crude_oil_warning'
|
table_name = 'v_tbl_crude_oil_warning'
|
||||||
|
|
||||||
|
DEFAULT_CONFIG = {
|
||||||
|
'feature_factor_frequency': 'D',
|
||||||
|
'strategy_id': 2,
|
||||||
|
'model_evaluation_id': 1,
|
||||||
|
'tenant_code': '',
|
||||||
|
'version_num': Decimal(1),
|
||||||
|
'delete_flag': '0',
|
||||||
|
'create_user': 'admin',
|
||||||
|
'create_date': datetime.datetime.now(),
|
||||||
|
'update_user': 'admin',
|
||||||
|
'update_date': datetime.datetime.now(),
|
||||||
|
'oil_code': 'PP',
|
||||||
|
'oil_name': 'PP期货',
|
||||||
|
}
|
||||||
|
|
||||||
# 开关
|
# 开关
|
||||||
is_train = True # 是否训练
|
is_train = True # 是否训练
|
||||||
@ -419,10 +431,12 @@ is_fivemodels = False # 是否使用之前保存的最佳的5个模型
|
|||||||
is_edbcode = False # 特征使用edbcoding列表中的
|
is_edbcode = False # 特征使用edbcoding列表中的
|
||||||
is_edbnamelist = False # 自定义特征,对应上面的edbnamelist
|
is_edbnamelist = False # 自定义特征,对应上面的edbnamelist
|
||||||
is_update_eta = True # 预测结果上传到eta
|
is_update_eta = True # 预测结果上传到eta
|
||||||
is_update_report = True # 是否上传报告
|
is_update_report = False # 是否上传报告
|
||||||
is_update_warning_data = True # 是否上传预警数据
|
is_update_warning_data = True # 是否上传预警数据
|
||||||
|
is_update_predict_value = True # 是否上传预测值到市场信息平台
|
||||||
is_del_corr = 0.6 # 是否删除相关性高的特征,取值为 0-1 ,0 为不删除,0.6 表示删除相关性小于0.6的特征
|
is_del_corr = 0.6 # 是否删除相关性高的特征,取值为 0-1 ,0 为不删除,0.6 表示删除相关性小于0.6的特征
|
||||||
is_del_tow_month = True # 是否删除两个月不更新的特征
|
is_del_tow_month = True # 是否删除两个月不更新的特征
|
||||||
|
is_bdwd = False # 是否使用八大维度
|
||||||
|
|
||||||
|
|
||||||
# 连接到数据库
|
# 连接到数据库
|
||||||
|
108
main_juxiting.py
108
main_juxiting.py
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
from lib.dataread import *
|
from lib.dataread import *
|
||||||
from config_juxiting import *
|
from config_juxiting import *
|
||||||
from lib.tools import SendMail, exception_logger
|
from lib.tools import SendMail, exception_logger, convert_df_to_pydantic, exception_logger, get_modelsname
|
||||||
from models.nerulforcastmodels import ex_Model_Juxiting, model_losss_juxiting, pp_export_pdf
|
from models.nerulforcastmodels import ex_Model_Juxiting, model_losss_juxiting, pp_export_pdf
|
||||||
import datetime
|
import datetime
|
||||||
import torch
|
import torch
|
||||||
@ -23,6 +23,8 @@ global_config.update({
|
|||||||
'is_update_report': is_update_report,
|
'is_update_report': is_update_report,
|
||||||
'settings': settings,
|
'settings': settings,
|
||||||
|
|
||||||
|
'bdwdname': bdwdname,
|
||||||
|
|
||||||
|
|
||||||
# 模型参数
|
# 模型参数
|
||||||
'data_set': data_set,
|
'data_set': data_set,
|
||||||
@ -35,19 +37,18 @@ global_config.update({
|
|||||||
'modelsindex': modelsindex,
|
'modelsindex': modelsindex,
|
||||||
'rote': rote,
|
'rote': rote,
|
||||||
'bdwd_items': bdwd_items,
|
'bdwd_items': bdwd_items,
|
||||||
'bdwdname':bdwdname,
|
|
||||||
|
|
||||||
# 特征工程开关
|
# 特征工程开关
|
||||||
'is_del_corr': is_del_corr,
|
'is_del_corr': is_del_corr,
|
||||||
'is_del_tow_month': is_del_tow_month,
|
'is_del_tow_month': is_del_tow_month,
|
||||||
'is_eta': is_eta,
|
'is_eta': is_eta,
|
||||||
'is_update_eta': is_update_eta,
|
'is_update_eta': is_update_eta,
|
||||||
'is_fivemodels': is_fivemodels,
|
'is_fivemodels': is_fivemodels,
|
||||||
|
'is_update_predict_value': is_update_predict_value,
|
||||||
'early_stop_patience_steps': early_stop_patience_steps,
|
'early_stop_patience_steps': early_stop_patience_steps,
|
||||||
|
|
||||||
# 时间参数
|
# 时间参数
|
||||||
'start_year': start_year,
|
'start_year': start_year,
|
||||||
'end_time': end_time,
|
'end_time': end_time or datetime.datetime.now().strftime("%Y-%m-%d"),
|
||||||
'freq': freq, # 保持列表结构
|
'freq': freq, # 保持列表结构
|
||||||
|
|
||||||
# 接口配置
|
# 接口配置
|
||||||
@ -90,6 +91,10 @@ global_config.update({
|
|||||||
|
|
||||||
# 数据库配置
|
# 数据库配置
|
||||||
'sqlitedb': sqlitedb,
|
'sqlitedb': sqlitedb,
|
||||||
|
'bdwd_items': bdwd_items,
|
||||||
|
'is_bdwd': is_bdwd,
|
||||||
|
'db_mysql': db_mysql,
|
||||||
|
'DEFAULT_CONFIG': DEFAULT_CONFIG,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@ -150,6 +155,91 @@ def push_market_value():
|
|||||||
config.logger.error(f"推送数据失败: {e}")
|
config.logger.error(f"推送数据失败: {e}")
|
||||||
|
|
||||||
|
|
||||||
|
def sql_inset_predict(global_config):
|
||||||
|
df = pd.read_csv(os.path.join(config.dataset, 'predict.csv'))
|
||||||
|
df['created_dt'] = pd.to_datetime(df['created_dt'])
|
||||||
|
df['ds'] = pd.to_datetime(df['ds'])
|
||||||
|
# 获取次日预测结果
|
||||||
|
next_day_df = df[df['ds'] == df['ds'].min()]
|
||||||
|
# 获取本周预测结果
|
||||||
|
this_week_df = df[df['ds'] == df['ds'].max()]
|
||||||
|
|
||||||
|
wd = ['day_price', 'week_price']
|
||||||
|
model_name_list, model_id_name_dict = get_modelsname(df, global_config)
|
||||||
|
|
||||||
|
PRICE_COLUMNS = [
|
||||||
|
'day_price', 'week_price', 'second_week_price', 'next_week_price',
|
||||||
|
'next_month_price', 'next_february_price', 'next_march_price', 'next_april_price'
|
||||||
|
]
|
||||||
|
|
||||||
|
params_list = []
|
||||||
|
for df, price_type in zip([next_day_df, this_week_df], wd):
|
||||||
|
|
||||||
|
update_columns = [
|
||||||
|
"feature_factor_frequency = VALUES(feature_factor_frequency)",
|
||||||
|
"oil_code = VALUES(oil_code)",
|
||||||
|
"oil_name = VALUES(oil_name)",
|
||||||
|
"data_date = VALUES(data_date)",
|
||||||
|
"market_price = VALUES(market_price)",
|
||||||
|
f"{price_type} = VALUES({price_type})",
|
||||||
|
"model_evaluation_id = VALUES(model_evaluation_id)",
|
||||||
|
"tenant_code = VALUES(tenant_code)",
|
||||||
|
"version_num = VALUES(version_num)",
|
||||||
|
"delete_flag = VALUES(delete_flag)",
|
||||||
|
"update_user = VALUES(update_user)",
|
||||||
|
"update_date = VALUES(update_date)"
|
||||||
|
]
|
||||||
|
|
||||||
|
insert_query = f"""
|
||||||
|
INSERT INTO v_tbl_predict_prediction_results (
|
||||||
|
feature_factor_frequency, strategy_id, oil_code, oil_name, data_date,
|
||||||
|
market_price, day_price, week_price, second_week_price, next_week_price,
|
||||||
|
next_month_price, next_february_price, next_march_price, next_april_price,
|
||||||
|
model_evaluation_id, model_id, tenant_code, version_num, delete_flag,
|
||||||
|
create_user, create_date, update_user, update_date
|
||||||
|
) VALUES (
|
||||||
|
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s
|
||||||
|
)
|
||||||
|
ON DUPLICATE KEY UPDATE
|
||||||
|
{', '.join(update_columns)}
|
||||||
|
"""
|
||||||
|
|
||||||
|
next_day_df = df[['ds', 'created_dt'] + model_name_list]
|
||||||
|
|
||||||
|
pydantic_results = convert_df_to_pydantic(
|
||||||
|
next_day_df, model_id_name_dict, global_config)
|
||||||
|
if pydantic_results:
|
||||||
|
|
||||||
|
for result in pydantic_results:
|
||||||
|
price_values = [None] * len(PRICE_COLUMNS)
|
||||||
|
price_index = PRICE_COLUMNS.index(price_type)
|
||||||
|
price_values[price_index] = next_day_df[model_id_name_dict[result.model_id]].values[0]
|
||||||
|
|
||||||
|
params = (
|
||||||
|
result.feature_factor_frequency,
|
||||||
|
result.strategy_id,
|
||||||
|
global_config['DEFAULT_CONFIG']['oil_code'],
|
||||||
|
global_config['DEFAULT_CONFIG']['oil_name'],
|
||||||
|
next_day_df['created_dt'].values[0],
|
||||||
|
result.market_price,
|
||||||
|
*price_values,
|
||||||
|
result.model_evaluation_id,
|
||||||
|
result.model_id,
|
||||||
|
result.tenant_code,
|
||||||
|
1,
|
||||||
|
'0',
|
||||||
|
result.create_user,
|
||||||
|
result.create_date,
|
||||||
|
result.update_user,
|
||||||
|
result.update_date
|
||||||
|
)
|
||||||
|
params_list.append(params)
|
||||||
|
affected_rows = config.db_mysql.execute_batch_insert(
|
||||||
|
insert_query, params_list)
|
||||||
|
config.logger.info(f"成功插入或更新 {affected_rows} 条记录")
|
||||||
|
config.db_mysql.close()
|
||||||
|
|
||||||
|
|
||||||
def predict_main():
|
def predict_main():
|
||||||
"""
|
"""
|
||||||
主预测函数,用于从 ETA 获取数据、处理数据、训练模型并进行预测。
|
主预测函数,用于从 ETA 获取数据、处理数据、训练模型并进行预测。
|
||||||
@ -364,7 +454,7 @@ def predict_main():
|
|||||||
"%Y-%m-%d %H:%M:%S")
|
"%Y-%m-%d %H:%M:%S")
|
||||||
warning_data_df['dataSource'] = 9
|
warning_data_df['dataSource'] = 9
|
||||||
|
|
||||||
if len(quxiaodingyueidlist)>0:
|
if len(quxiaodingyueidlist) > 0:
|
||||||
# 去掉取消订阅的指标
|
# 去掉取消订阅的指标
|
||||||
print(warning_data_df.shape)
|
print(warning_data_df.shape)
|
||||||
warning_data_df = warning_data_df[~warning_data_df['indicatorId'].isin(
|
warning_data_df = warning_data_df[~warning_data_df['indicatorId'].isin(
|
||||||
@ -376,7 +466,8 @@ def predict_main():
|
|||||||
warning_data = warning_data.replace('周度', '2')
|
warning_data = warning_data.replace('周度', '2')
|
||||||
warning_data = warning_data.replace('月度', '3')
|
warning_data = warning_data.replace('月度', '3')
|
||||||
warning_data = json.loads(warning_data)
|
warning_data = json.loads(warning_data)
|
||||||
push_waring_market_data(warning_data,dataSource=warning_data_df['dataSource'].values[0])
|
push_waring_market_data(
|
||||||
|
warning_data, dataSource=warning_data_df['dataSource'].values[0])
|
||||||
# if is_update_warning_data:
|
# if is_update_warning_data:
|
||||||
# upload_warning_info(len(warning_data_df))
|
# upload_warning_info(len(warning_data_df))
|
||||||
# except:
|
# except:
|
||||||
@ -430,6 +521,7 @@ def predict_main():
|
|||||||
logger.info('模型训练完成')
|
logger.info('模型训练完成')
|
||||||
|
|
||||||
push_market_value()
|
push_market_value()
|
||||||
|
sql_inset_predict(global_config)
|
||||||
|
|
||||||
# # LSTM 单变量模型
|
# # LSTM 单变量模型
|
||||||
# ex_Lstm(df,input_seq_len=input_size,output_seq_len=horizon,is_debug=is_debug,dataset=dataset)
|
# ex_Lstm(df,input_seq_len=input_size,output_seq_len=horizon,is_debug=is_debug,dataset=dataset)
|
||||||
@ -464,6 +556,8 @@ if __name__ == '__main__':
|
|||||||
# logger.info(f'预测失败:{e}')
|
# logger.info(f'预测失败:{e}')
|
||||||
# continue
|
# continue
|
||||||
|
|
||||||
predict_main()
|
# predict_main()
|
||||||
|
|
||||||
# push_market_value()
|
# push_market_value()
|
||||||
|
|
||||||
|
sql_inset_predict(global_config)
|
||||||
|
Loading…
Reference in New Issue
Block a user