|
@@ -19,7 +19,7 @@ def read_data(path):
|
19
|
19
|
random.shuffle(lines)
|
20
|
20
|
print('读取数据完毕')
|
21
|
21
|
|
22
|
|
- d=int(0.89*len(lines))
|
|
22
|
+ d=int(0.81*len(lines))
|
23
|
23
|
|
24
|
24
|
size = len(lines[0])
|
25
|
25
|
train_x=[s[:size - 2] for s in lines[0:d]]
|
|
@@ -43,7 +43,7 @@ def resample(path, suffix='test'):
|
43
|
43
|
lines = []
|
44
|
44
|
with open(data_dir + path + '.log') as f:
|
45
|
45
|
i = 0
|
46
|
|
- for x in range(84000): # 63万 13万 8.4万
|
|
46
|
+ for x in range(64000): # 56万 11万 6.4万
|
47
|
47
|
# print(i)
|
48
|
48
|
lines.append(eval(f.readline().strip()))
|
49
|
49
|
i = i + 1
|
|
@@ -59,7 +59,7 @@ def resample(path, suffix='test'):
|
59
|
59
|
v = line[1:x*k + 1]
|
60
|
60
|
v = np.array(v)
|
61
|
61
|
v = v.reshape(k, x)
|
62
|
|
- v = v[:,4:8]
|
|
62
|
+ v = v[:,6:10]
|
63
|
63
|
v = v.reshape(1, 4*k)
|
64
|
64
|
# print(v)
|
65
|
65
|
r = estimator.predict(v)
|
|
@@ -67,9 +67,9 @@ def resample(path, suffix='test'):
|
67
|
67
|
|
68
|
68
|
|
69
|
69
|
def mul_train(name="10_18d"):
|
70
|
|
- for x in range(0, 12):
|
71
|
|
- # for x in [3,6,10]:
|
72
|
|
- score = train(input_dim=440, result_class=5, file_path=data_dir + "kmeans\\stock"+ name + "_train_" + str(x) + ".log",
|
|
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",
|
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=120+input_dim, input_dim=input_dim, activation='relu', kernel_regularizer=regularizers.l1(0.003)))
|
84
|
|
- model.add(Dense(units=120+input_dim, activation='relu'))
|
|
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'))
|
85
|
85
|
model.add(Dropout(0.2))
|
86
|
|
- model.add(Dense(units=120+input_dim, activation='relu'))
|
87
|
|
- model.add(Dense(units=120+input_dim, activation='relu'))
|
88
|
|
- model.add(Dense(units=120+input_dim, activation='relu',kernel_regularizer=regularizers.l1(0.002)))
|
|
86
|
+ model.add(Dense(units=220+input_dim, activation='relu'))
|
|
87
|
+ model.add(Dense(units=220+input_dim, activation='relu'))
|
|
88
|
+ model.add(Dense(units=220+input_dim, activation='relu',kernel_regularizer=regularizers.l1(0.002)))
|
89
|
89
|
model.add(Dropout(0.2))
|
90
|
90
|
model.add(Dense(units=120 + input_dim, activation='relu'))
|
91
|
|
- model.add(Dropout(0.2))
|
92
|
|
- model.add(Dense(units=120+input_dim, activation='selu'))
|
|
91
|
+ # model.add(Dropout(0.2))
|
|
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=512, activation='relu'))
|
|
94
|
+ model.add(Dense(units=1024, 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=600 + 4*int(len(train_x)/1200), shuffle=True)
|
|
100
|
+ model.fit(train_x, train_y, batch_size=4096*4, epochs=550 + 4*int(len(train_x)/1000), 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('stock14_18d_test', suffix='test')
|
119
|
|
- mul_train('14_18d')
|
|
118
|
+ resample('stock15_18d_test', suffix='test')
|
|
119
|
+ # mul_train('15_18d')
|