소스 검색

瞎搞搞

yufeng0528 4 년 전
부모
커밋
54de9f9fe1
2개의 변경된 파일48개의 추가작업 그리고 7개의 파일을 삭제
  1. 44 0
      stock/cnn_predict.py
  2. 4 7
      stock/cnn_train.py

+ 44 - 0
stock/cnn_predict.py

@@ -0,0 +1,44 @@
1
+import keras
2
+# -*- encoding:utf-8 -*-
3
+import numpy as np
4
+from keras.models import Sequential
5
+from keras.layers import Dense,Dropout
6
+import random
7
+from keras.models import load_model
8
+
9
+lines = []
10
+def read_data(path):
11
+    with open(path) as f:
12
+        for line in f.readlines()[:2000]:
13
+            lines.append(eval(line.strip()))
14
+
15
+    train_x=[s[:-2] for s in lines]
16
+    train_y=[s[-1] for s in lines]
17
+    return np.array(train_x),np.array(train_y)
18
+
19
+
20
+test_x,test_y=read_data("D:\\data\\quantization\\stock6_test.log")
21
+
22
+path="15min_model_seq.h5"
23
+model=load_model(path)
24
+score = model.evaluate(test_x, test_y)
25
+print(score)
26
+
27
+result=model.predict(test_x)
28
+print(result)
29
+
30
+up_num = 0
31
+up_right = 0
32
+i = 0
33
+for r in result:
34
+    fact = test_y[i]
35
+    if fact[0] == 1:
36
+        if r[0] > 0.5:
37
+            up_right = up_right + 1
38
+        elif r[1] > 0.5:
39
+            up_right = up_right + 0.5
40
+        up_num = up_num + 1
41
+
42
+    i = i + 1
43
+
44
+print(up_right, up_num, up_right/up_num)

+ 4 - 7
stock/cnn_train.py

@@ -10,11 +10,9 @@ from keras.utils import np_utils
10 10
 
11 11
 
12 12
 def read_data(path):
13
-    train_x=[]
14
-    train_y=[]
15 13
     lines = []
16 14
     with open(path) as f:
17
-        for x in range(3000):
15
+        for x in range(40000):
18 16
             lines.append(eval(f.readline().strip()))
19 17
 
20 18
     random.shuffle(lines)
@@ -22,10 +20,9 @@ def read_data(path):
22 20
 
23 21
     d=int(0.95*len(lines))
24 22
 
25
-    size = len(lines[0])
26
-    train_x=[s[:size - 2] for s in lines[0:d]]
23
+    train_x=[s[:-2] for s in lines[0:d]]
27 24
     train_y=[s[-1] for s in lines[0:d]]
28
-    test_x=[s[:size - 2] for s in lines[d:]]
25
+    test_x=[s[:-2] for s in lines[d:]]
29 26
     test_y=[s[-1] for s in lines[d:]]
30 27
 
31 28
     print('转换数据完毕')
@@ -53,7 +50,7 @@ model.add(Dense(units=3, activation='softmax'))
53 50
 model.compile(loss='categorical_crossentropy', optimizer="adam",metrics=['accuracy'])
54 51
 
55 52
 print("Starting training ")
56
-h=model.fit(train_x, train_y, batch_size=64, epochs=6, shuffle=True)
53
+h=model.fit(train_x, train_y, batch_size=64, epochs=14, shuffle=True)
57 54
 score = model.evaluate(test_x, test_y)
58 55
 print(score)
59 56
 print('Test score:', score[0])