添加日志信息
This commit is contained in:
		
							parent
							
								
									f4eea44c8c
								
							
						
					
					
						commit
						bf831258e6
					
				
							
								
								
									
										8
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								main.py
									
									
									
									
									
								
							| @ -138,15 +138,23 @@ def predict_main(): | |||||||
|             is_eta=is_eta, |             is_eta=is_eta, | ||||||
|             ) |             ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |     logger.info('模型训练完成') | ||||||
|     # # 模型评估 |     # # 模型评估 | ||||||
|  |      | ||||||
|  |     logger.info('训练数据绘图ing') | ||||||
|     model_results3 = model_losss_juxiting(sqlitedb) |     model_results3 = model_losss_juxiting(sqlitedb) | ||||||
|  |      | ||||||
|  |     logger.info('训练数据绘图end') | ||||||
|     # 模型报告 |     # 模型报告 | ||||||
|      |      | ||||||
|  |     logger.info('制作报告ing') | ||||||
|     title = f'{settings}--{now}-预测报告' # 报告标题 |     title = f'{settings}--{now}-预测报告' # 报告标题 | ||||||
|     brent_export_pdf(dataset=dataset,num_models = 5 if is_fivemodels else 22,time=end_time, |     brent_export_pdf(dataset=dataset,num_models = 5 if is_fivemodels else 22,time=end_time, | ||||||
|                 reportname=reportname,sqlitedb=sqlitedb), |                 reportname=reportname,sqlitedb=sqlitedb), | ||||||
|     # pp_export_pdf(dataset=dataset,num_models = 5 if is_fivemodels else 22,time=end_time, |     # pp_export_pdf(dataset=dataset,num_models = 5 if is_fivemodels else 22,time=end_time, | ||||||
|                 # reportname=reportname), |                 # reportname=reportname), | ||||||
|  |     logger.info('制作报告end') | ||||||
|     logger.info('模型训练完成') |     logger.info('模型训练完成') | ||||||
|      |      | ||||||
|     # tansuanli_export_pdf(dataset=dataset,num_models = 5 if is_fivemodels else 22,end_time=end_time,reportname=reportname) |     # tansuanli_export_pdf(dataset=dataset,num_models = 5 if is_fivemodels else 22,end_time=end_time,reportname=reportname) | ||||||
|  | |||||||
| @ -510,36 +510,14 @@ def model_losss_juxiting(sqlitedb): | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     # 使用最佳五个模型进行绘图 |     # 使用最佳五个模型进行绘图 | ||||||
|     # best_models = pd.read_csv(os.path.join(dataset,'best_modelnames.txt'),header=None).values.flatten().tolist() |     best_models = pd.read_csv(os.path.join(dataset,'best_modelnames.txt'),header=None).values.flatten().tolist() | ||||||
|     # def find_min_max_within_quantile(row): |  | ||||||
|     #     row = row[best_models] |  | ||||||
|     #     q10 = row.min() |  | ||||||
|     #     q90 = row.max() |  | ||||||
|     #     # 获取 row行10%分位值对应的模型名称 |  | ||||||
|     #     min_model = row[row == q10].idxmin() |  | ||||||
|     #     max_model = row[row == q90].idxmin() |  | ||||||
|          |  | ||||||
|     #     # # 判断flot值是否为空值 |  | ||||||
|     #     # if pd.isna(q10) or pd.isna(q90): |  | ||||||
|     #     return pd.Series([q10, q90,min_model,max_model], index=['min_within_quantile','max_within_quantile','min_model','max_model']) |  | ||||||
| 
 |  | ||||||
|     # # 遍历行 |  | ||||||
|     # df_combined3[['min_within_quantile', 'max_within_quantile','min_model','max_model']] = df_combined3.apply(find_min_max_within_quantile, axis=1) |  | ||||||
|     # df_combined = df_combined.round(4) |  | ||||||
|     # print(df_combined3) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     # 通道使用预测模型的80%置信度 |  | ||||||
|     def find_min_max_within_quantile(row): |     def find_min_max_within_quantile(row): | ||||||
|         row.drop(['ds','y'], inplace=True) |         row = row[best_models] | ||||||
|         # 获取分位数10%和90%的值 |         q10 = row.min() | ||||||
|         q10 = row.quantile(0.1) |         q90 = row.max() | ||||||
|         q90 = row.quantile(0.9) |  | ||||||
|         # 获取 row行10%分位值对应的模型名称 |         # 获取 row行10%分位值对应的模型名称 | ||||||
|         min_model = row[row == q10].index[0] |         min_model = row[row == q10].idxmin() | ||||||
|         max_model = row[row == q90].index[0] |         max_model = row[row == q90].idxmin() | ||||||
|          |          | ||||||
|         # # 判断flot值是否为空值 |         # # 判断flot值是否为空值 | ||||||
|         # if pd.isna(q10) or pd.isna(q90): |         # if pd.isna(q10) or pd.isna(q90): | ||||||
| @ -553,6 +531,28 @@ def model_losss_juxiting(sqlitedb): | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |     # # 通道使用预测模型的80%置信度 | ||||||
|  |     # def find_min_max_within_quantile(row): | ||||||
|  |     #     row.drop(['ds','y'], inplace=True) | ||||||
|  |     #     # 获取分位数10%和90%的值 | ||||||
|  |     #     q10 = row.quantile(0.1) | ||||||
|  |     #     q90 = row.quantile(0.9) | ||||||
|  |     #     # 获取 row行10%分位值对应的模型名称 | ||||||
|  |     #     min_model = row[row == q10].index[0] | ||||||
|  |     #     max_model = row[row == q90].index[0] | ||||||
|  |          | ||||||
|  |     #     # # 判断flot值是否为空值 | ||||||
|  |     #     # if pd.isna(q10) or pd.isna(q90): | ||||||
|  |     #     return pd.Series([q10, q90,min_model,max_model], index=['min_within_quantile','max_within_quantile','min_model','max_model']) | ||||||
|  | 
 | ||||||
|  |     # # 遍历行 | ||||||
|  |     # df_combined3[['min_within_quantile', 'max_within_quantile','min_model','max_model']] = df_combined3.apply(find_min_max_within_quantile, axis=1) | ||||||
|  |     # df_combined = df_combined.round(4) | ||||||
|  |     # print(df_combined3) | ||||||
|  |      | ||||||
|  |      | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|     # # 计算波动率 |     # # 计算波动率 | ||||||
|     # df_combined3['volatility'] = df_combined3['y'].pct_change().round(4) |     # df_combined3['volatility'] = df_combined3['y'].pct_change().round(4) | ||||||
|     # # 计算近60日的波动率 10% 90%分位数 |     # # 计算近60日的波动率 10% 90%分位数 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user