|
@@ -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')
|