@@ -137,8 +137,8 @@ def use_pca(dataset):
137
137
# lstm的hyper-parameter
138
138
hidden_size = 400
139
139
layer_num = 1
140
- max_epoch = int (2000 * 0.6 )
141
- dropout_keep_rate = 1
140
+ max_epoch = int (2000 * 0.7 )
141
+ dropout_keep_rate = 0.8
142
142
143
143
# 根据输入数据来决定,train_num训练集大小,input_size输入维度
144
144
train_num , time_step_size , input_size = train_x .shape # sahpe :12 * 2 *480
@@ -215,12 +215,12 @@ def print_to_console(i, train_y ,train_y_pred,flag_istrain):
215
215
for i in range (1 , max_epoch + 1 ):
216
216
feed_dict = {x_input : train_x , y_real : train_y , keep_prob : dropout_keep_rate , batch_size : train_num }
217
217
sess .run (train_op , feed_dict = feed_dict )
218
- if i % 50 == 0 :
218
+ if i % 200 == 0 :
219
219
feed_dict = {x_input : train_x , y_real : train_y , keep_prob : 1.0 , batch_size : train_num }
220
220
train_y_pred = sess .run (y_pred , feed_dict = feed_dict )
221
221
#print ("train_y_pred : ",train_y_pred.shape) #(9,480)
222
222
print_to_console (i ,train_y , train_y_pred ,1 )
223
- if i % 50 == 0 :
223
+ if i % 200 == 0 :
224
224
feed_dict = {x_input : test_x , y_real : test_y , keep_prob : 1.0 , batch_size : test_len }
225
225
test_y_pred = sess .run (y_pred , feed_dict = feed_dict )
226
226
#print ("test_y_pred : ",test_y_pred.shape) #(3,480)
@@ -230,7 +230,7 @@ def print_to_console(i, train_y ,train_y_pred,flag_istrain):
230
230
y_main = dataset_main [0 ][time_step :days , :] # y_main的主成分[2~14] shape 12 * 2 * 480
231
231
y_pre_train_real = y_main [:train_len ] + train_y_pred * (y_max - y_min ) + y_min #train_y_pred的shape是 :(9,480)
232
232
y_raw_train = y_main [:train_len ] + train_y * (y_max - y_min ) + y_min # true
233
- plt .plot (y_raw_train [0 ]) #只画第一天
233
+ plt .plot (y_raw_train [0 ]) #只画第一天
234
234
plt .plot (y_pre_train_real [0 ])
235
235
plt .show ()
236
236
for i in range (0 ,train_len ):
@@ -239,7 +239,7 @@ def print_to_console(i, train_y ,train_y_pred,flag_istrain):
239
239
y_pre_test_real = y_main [train_len :] + test_y_pred * (y_max - y_min ) + y_min
240
240
y_raw_test = y_main [train_len :] + test_y * (y_max - y_min ) + y_min # true
241
241
plt .plot (y_raw_test [0 ])
242
- plt .plot (y_pre_test_real [0 ]) #只画第一天
242
+ plt .plot (y_pre_test_real [0 ]) #只画第一天
243
243
for i in range (0 ,test_len ):
244
244
print ("test " ,i ," mre, mae, rmse : " , get_metrics (y_pre_test_real [i ],y_raw_test [i ]))
245
245
plt .show ()
0 commit comments