yufeng 4 years ago
parent
commit
cdabbaa8da
1 changed files with 11 additions and 11 deletions
  1. 11 11
      stock/dnn_train_dmi.py

+ 11 - 11
stock/dnn_train_dmi.py

@@ -53,10 +53,10 @@ def resample(path, suffix='test'):
53 53
     for x in range(0, 12):
54 54
         file_list.append(open(data_dir + 'kmeans\\' + path[:17] + '_' + str(x) + '.log', 'a')) # stock14_18d_train
55 55
 
56
-    x = 24 # 每条数据项数
56
+    x = 16 # 每条数据项数
57 57
     k = 18 # 周期
58 58
     for line in lines:
59
-        v = line[1:x*k + 1]
59
+        v = line[0:x*k]
60 60
         v = np.array(v)
61 61
         v = v.reshape(k, x)
62 62
         v = v[:,6:10]
@@ -68,8 +68,8 @@ def resample(path, suffix='test'):
68 68
 
69 69
 def mul_train(name="10_18d"):
70 70
     # for x in range(8, 12):
71
-    for x in [2, 4, 6, 8]:
72
-        score = train(input_dim=439, result_class=5, file_path=data_dir + "kmeans\\stock"+ name + "_train_" + str(x) + ".log",
71
+    for x in [8,5]:
72
+        score = train(input_dim=480, result_class=5, file_path=data_dir + "kmeans\\stock"+ name + "_train_" + str(x) + ".log",
73 73
               model_name=name + '_dnn_seq_' + str(x) + '.h5')
74 74
 
75 75
         with open(data_dir + 'stock' + name + '_dmi.log', 'a') as f:
@@ -80,24 +80,24 @@ def train(input_dim=400, result_class=3, file_path="D:\\data\\quantization\\stoc
80 80
     train_x,train_y,test_x,test_y=read_data(file_path)
81 81
 
82 82
     model = Sequential()
83
-    model.add(Dense(units=220+input_dim, input_dim=input_dim,  activation='relu', kernel_regularizer=regularizers.l1(0.003)))
84
-    model.add(Dense(units=220+input_dim, activation='relu'))
83
+    model.add(Dense(units=320+input_dim, input_dim=input_dim,  activation='relu', kernel_regularizer=regularizers.l1(0.003)))
84
+    model.add(Dense(units=300+input_dim, activation='relu'))
85 85
     model.add(Dropout(0.2))
86 86
     model.add(Dense(units=220+input_dim, activation='relu'))
87 87
     model.add(Dense(units=220+input_dim, activation='relu'))
88 88
     model.add(Dense(units=220+input_dim, activation='relu',kernel_regularizer=regularizers.l1(0.002)))
89 89
     model.add(Dropout(0.2))
90
-    model.add(Dense(units=120 + input_dim, activation='relu'))
90
+    model.add(Dense(units=320 + input_dim, activation='relu'))
91 91
     # model.add(Dropout(0.2))
92 92
     # model.add(Dense(units=120+input_dim, activation='selu'))
93 93
     # model.add(Dense(units=120+input_dim, activation='selu'))
94
-    model.add(Dense(units=1024, activation='relu'))
94
+    model.add(Dense(units=666, activation='relu'))
95 95
 
96 96
     model.add(Dense(units=result_class, activation='softmax'))
97 97
     model.compile(loss='categorical_crossentropy', optimizer="adam",metrics=['accuracy'])
98 98
 
99 99
     print("Starting training ")
100
-    model.fit(train_x, train_y, batch_size=4096*4, epochs=550 + 4*int(len(train_x)/1000), shuffle=True)
100
+    model.fit(train_x, train_y, batch_size=4096*4, epochs=400 + 4*int(len(train_x)/1600), shuffle=True)
101 101
     score = model.evaluate(test_x, test_y)
102 102
     print(score)
103 103
     print('Test score:', score[0])
@@ -115,5 +115,5 @@ def train(input_dim=400, result_class=3, file_path="D:\\data\\quantization\\stoc
115 115
 
116 116
 
117 117
 if __name__ == '__main__':
118
-    resample('stock15_18d_test', suffix='test')
119
-    # mul_train('15_18d')
118
+    # resample('stock19_18d_test', suffix='test')
119
+    mul_train('19_18d')