预警租户id写死T0004
This commit is contained in:
parent
03abddb68c
commit
dabff4b157
@ -198,7 +198,7 @@ warning_data = {
|
||||
### 开关
|
||||
is_train = True # 是否训练
|
||||
is_debug = False # 是否调试
|
||||
is_eta = False # 是否使用eta接口
|
||||
is_eta = True # 是否使用eta接口
|
||||
is_timefurture = True # 是否使用时间特征
|
||||
is_fivemodels = False # 是否使用之前保存的最佳的5个模型
|
||||
is_edbcode = True # 特征使用edbcoding列表中的
|
||||
@ -226,7 +226,7 @@ db_mysql.connect()
|
||||
# 数据截取日期
|
||||
start_year = 2000 # 数据开始年份
|
||||
end_time = '' # 数据截取日期
|
||||
freq = 'B' # 时间频率,"D": 天 "W": 周"M": 月"Q": 季度"A": 年 "H": 小时 "T": 分钟 "S": 秒 "B": 工作日
|
||||
freq = 'W' # 时间频率,"D": 天 "W": 周"M": 月"Q": 季度"A": 年 "H": 小时 "T": 分钟 "S": 秒 "B": 工作日
|
||||
delweekenday = True if freq == 'B' else False # 是否删除周末数据
|
||||
is_corr = False # 特征是否参与滞后领先提升相关系数
|
||||
add_kdj = False # 是否添加kdj指标
|
||||
@ -235,19 +235,19 @@ if add_kdj and is_edbnamelist:
|
||||
### 模型参数
|
||||
y = 'Brent连1合约价格' # 原油指标数据的目标变量 Brent连1合约价格 Brent活跃合约
|
||||
# y = '期货结算价(连续):布伦特原油:前一个观测值' # ineoil的目标变量
|
||||
horizon =30 # 预测的步长
|
||||
input_size = 120 # 输入序列长度
|
||||
horizon =4 # 预测的步长
|
||||
input_size = 40 # 输入序列长度
|
||||
train_steps = 50 if is_debug else 1000 # 训练步数,用来限定epoch次数
|
||||
val_check_steps = 30 # 评估频率
|
||||
early_stop_patience_steps = 5 # 早停的耐心步数
|
||||
# --- 交叉验证用的参数
|
||||
test_size = 200 # 测试集大小,定义100,后面使用的时候重新赋值
|
||||
test_size = 100 # 测试集大小,定义100,后面使用的时候重新赋值
|
||||
val_size = test_size # 验证集大小,同测试集大小
|
||||
|
||||
### 特征筛选用到的参数
|
||||
k = 100 # 特征筛选数量,如果是0或者值比特征数量大,代表全部特征
|
||||
|
||||
rote = 0.06
|
||||
corr_threshold = 0.6 # 相关性大于0.6的特征
|
||||
rote = 0.06 # 绘图上下界阈值
|
||||
|
||||
### 文件
|
||||
data_set = '原油指标数据.xlsx' # 数据集文件
|
||||
|
@ -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列表中的
|
||||
|
21741
logs/pricepredict.log.1
21741
logs/pricepredict.log.1
File diff suppressed because it is too large
Load Diff
22672
logs/pricepredict.log.2
22672
logs/pricepredict.log.2
File diff suppressed because it is too large
Load Diff
11069
logs/pricepredict.log.3
Normal file
11069
logs/pricepredict.log.3
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,4 @@
|
||||
# 读取配置
|
||||
from config_jingbo import *
|
||||
from lib.dataread import *
|
||||
from lib.tools import SendMail
|
||||
from models.nerulforcastmodels import ex_Model,model_losss,model_losss_juxiting,brent_export_pdf,tansuanli_export_pdf,pp_export_pdf,model_losss_juxiting
|
||||
@ -149,7 +148,8 @@ def predict_main():
|
||||
warning_data_df = warning_data_df.rename(columns={'指标名称': 'INDICATOR_NAME', '指标id': 'INDICATOR_ID', '频度': 'FREQUENCY', '更新周期': 'UPDATE_FREQUENCY', '指标来源': 'DATA_SOURCE', '最后更新时间': 'LAST_UPDATE_DATE', '停更周期': 'UPDATE_SUSPENSION_CYCLE'})
|
||||
from sqlalchemy import create_engine
|
||||
engine = create_engine(f'mysql+pymysql://{dbusername}:{password}@{host}:{port}/{dbname}')
|
||||
warning_data_df['WARNING_DATE'] = datetime.date.today().strftime("%Y-%m-%d")
|
||||
warning_data_df['WARNING_DATE'] = datetime.date.today().strftime("%Y-%m-%d %H:%M:%S")
|
||||
warning_data_df['TENANT_CODE'] = 'T0004'
|
||||
# 插入数据之前查询表数据然后新增id列
|
||||
existing_data = pd.read_sql(f"SELECT * FROM {table_name}", engine)
|
||||
if not existing_data.empty:
|
||||
@ -194,8 +194,7 @@ def predict_main():
|
||||
logger.info('模型训练完成')
|
||||
|
||||
logger.info('训练数据绘图ing')
|
||||
model_results3 = model_losss(sqlitedb)
|
||||
# model_results3 = model_losss_juxiting(sqlitedb)
|
||||
model_results3 = model_losss_juxiting(sqlitedb)
|
||||
logger.info('训练数据绘图end')
|
||||
|
||||
# 模型报告
|
||||
|
@ -231,7 +231,7 @@ def model_losss(sqlitedb):
|
||||
# 其他列转为数值类型
|
||||
df_combined = df_combined.astype({col: 'float32' for col in df_combined.columns if col not in ['cutoff','ds'] })
|
||||
# 使用 groupby 和 transform 结合 lambda 函数来获取每个分组中 cutoff 的最小值,并创建一个新的列来存储这个最大值
|
||||
df_combined['max_cutoff'] = df_combined.groupby('ds')['cutoff'].transform('max')
|
||||
df_combined['max_cutoff'] = df_combined.groupby('ds')['cutoff'].transform('min')
|
||||
|
||||
# 然后筛选出那些 cutoff 等于 max_cutoff 的行,这样就得到了每个分组中 cutoff 最大的行,并保留了其他列
|
||||
df_combined = df_combined[df_combined['cutoff'] == df_combined['max_cutoff']]
|
||||
@ -430,7 +430,7 @@ def model_losss(sqlitedb):
|
||||
|
||||
# 数据库查询最佳模型名称
|
||||
# most_model = [sqlitedb.select_data('most_model',columns=['most_common_model'],order_by='ds desc',limit=1).values[0][0]]
|
||||
most_model = modelnames[0:1]
|
||||
most_model = modelnames[0:5]
|
||||
for model in most_model:
|
||||
plt.plot(df_combined3['ds'], df_combined3[model], label=model,marker='o')
|
||||
# 当前日期画竖虚线
|
||||
|
Loading…
Reference in New Issue
Block a user