准确率计算逻辑更改数据库
This commit is contained in:
parent
af408caef1
commit
3f24f117d5
@ -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 # 评估频率
|
||||
|
@ -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__':
|
||||
|
@ -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)
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user