准确率计算逻辑更改数据库

This commit is contained in:
liurui 2024-12-10 17:01:26 +08:00
parent af408caef1
commit 3f24f117d5
3 changed files with 33 additions and 33 deletions

View File

@ -197,15 +197,15 @@ warning_data = {
### 开关
is_train = True # 是否训练
is_debug = True # 是否调试
is_debug = False # 是否调试
is_eta = False # 是否使用eta接口
is_timefurture = True # 是否使用时间特征
is_fivemodels = True # 是否使用之前保存的最佳的5个模型
is_edbcode = True # 特征使用edbcoding列表中的
is_fivemodels = False # 是否使用之前保存的最佳的5个模型
is_edbcode = False # 特征使用edbcoding列表中的
is_edbnamelist = False # 自定义特征对应上面的edbnamelist
is_update_eta = False # 预测结果上传到eta
is_update_report = False # 是否上传报告
is_update_warning_data = True # 是否上传预警数据
is_update_warning_data = False # 是否上传预警数据
### 北京环境数据库jbsh_test
# url: jdbc:mysql://192.168.101.27:3306/jingbo_test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&useSSL=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
@ -225,8 +225,8 @@ db_mysql.connect()
# 数据截取日期
start_year = 2000 # 数据开始年份
end_time = '' # 数据截取日期
freq = 'W' # 时间频率,"D": 天 "W": 周"M": 月"Q": 季度"A": 年 "H": 小时 "T": 分钟 "S": 秒 "B": 工作日
end_time = '2024-11-23' # 数据截取日期
freq = 'B' # 时间频率,"D": 天 "W": 周"M": 月"Q": 季度"A": 年 "H": 小时 "T": 分钟 "S": 秒 "B": 工作日
delweekenday = True if freq == 'B' else False # 是否删除周末数据
is_corr = False # 特征是否参与滞后领先提升相关系数
add_kdj = False # 是否添加kdj指标
@ -235,7 +235,7 @@ if add_kdj and is_edbnamelist:
### 模型参数
y = 'Brent连1合约价格' # 原油指标数据的目标变量 Brent连1合约价格 Brent活跃合约
# y = '期货结算价(连续):布伦特原油:前一个观测值' # ineoil的目标变量
horizon =4 # 预测的步长
horizon =5 # 预测的步长
input_size = 40 # 输入序列长度
train_steps = 50 if is_debug else 1000 # 训练步数,用来限定epoch次数
val_check_steps = 30 # 评估频率

View File

@ -172,25 +172,25 @@ def predict_main():
row, col = df.shape
now = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
# ex_Model(df,
# horizon=horizon,
# input_size=input_size,
# train_steps=train_steps,
# val_check_steps=val_check_steps,
# early_stop_patience_steps=early_stop_patience_steps,
# is_debug=is_debug,
# dataset=dataset,
# is_train=is_train,
# is_fivemodels=is_fivemodels,
# val_size=val_size,
# test_size=test_size,
# settings=settings,
# now=now,
# etadata=etadata,
# modelsindex=modelsindex,
# data=data,
# is_eta=is_eta,
# )
ex_Model(df,
horizon=horizon,
input_size=input_size,
train_steps=train_steps,
val_check_steps=val_check_steps,
early_stop_patience_steps=early_stop_patience_steps,
is_debug=is_debug,
dataset=dataset,
is_train=is_train,
is_fivemodels=is_fivemodels,
val_size=val_size,
test_size=test_size,
settings=settings,
now=now,
etadata=etadata,
modelsindex=modelsindex,
data=data,
is_eta=is_eta,
)
logger.info('模型训练完成')
@ -228,7 +228,7 @@ def predict_main():
file=max(glob.glob(os.path.join(dataset,'*.pdf')), key=os.path.getctime),
ssl=ssl,
)
m.send_mail()
# m.send_mail()
if __name__ == '__main__':

View File

@ -369,9 +369,9 @@ def model_losss(sqlitedb):
# find_most_common_model()
df_predict2 = df_predict.copy()
df_predict2 = df_combined3.tail(horizon)
df_predict2['ds'] = pd.to_datetime(df_predict2['ds'])
df_predict2['ds'] = df_predict2['ds'].dt.strftime('%Y-%m-%d 00:00:00')
df_predict2['ds'] = df_predict2['ds'].dt.strftime('%Y-%m-%d')
# 保存到数据库
if not sqlitedb.check_table_exists('accuracy'):
@ -382,13 +382,13 @@ def model_losss(sqlitedb):
df_predict2['id'] = range(max_id + 1, max_id + 1 + len(df_predict2))
else:
df_predict2['id'] = range(1, 1 + len(df_predict2))
df_predict2['CREAT_DATE'] = datetime.datetime.now().strftime('%Y-%m-%d')
df_predict2['CREAT_DATE'] = end_time
df_predict2['PREDICT_DATE'] = df_predict2['ds']
df_predict2['MIN_PRICE'] = df_predict2['min_within_quantile']
df_predict2['MAX_PRICE'] = df_predict2['max_within_quantile']
print(df_predict2.clumns)
df_predict2 = df_predict2[['id','PREDICT_DATE','CREAT_DATE','MIN_PRICE','MAX_PRICE']]
df_predict2.to_sql(table_name, con=sqlitedb.connection, if_exists='append', index=False)
df_predict2.to_sql("accuracy", con=sqlitedb.connection, if_exists='append', index=False)