mirror of
https://github.com/newnius/YAO-optimizer.git
synced 2025-12-15 09:06:43 +00:00
update
This commit is contained in:
49
main.py
49
main.py
@@ -4,7 +4,6 @@ import os
|
||||
from sklearn.model_selection import train_test_split
|
||||
from model_tensorflow import train, predict
|
||||
|
||||
|
||||
frame = "tensorflow"
|
||||
|
||||
|
||||
@@ -31,7 +30,7 @@ class Config:
|
||||
shuffle_train_data = True
|
||||
|
||||
# train_data_rate = 0.95 #comment yqy
|
||||
train_data_rate = 1 #add yqy
|
||||
train_data_rate = 1 # add yqy
|
||||
valid_data_rate = 0.15
|
||||
|
||||
batch_size = 64
|
||||
@@ -47,11 +46,11 @@ class Config:
|
||||
batch_size = 1
|
||||
continue_flag = "continue_"
|
||||
|
||||
#comment yqy
|
||||
# comment yqy
|
||||
# train_data_path = "./data/stock_data.csv"
|
||||
model_save_path = "./checkpoint/"
|
||||
figure_save_path = "./figure/"
|
||||
#comment end
|
||||
# comment end
|
||||
# add yqy
|
||||
train_data_path = "./data/stock_data_30.csv"
|
||||
# model_save_path = "./checkpoint/30/"
|
||||
@@ -129,10 +128,10 @@ class Data:
|
||||
if test_data_yqy is None:
|
||||
test_data_yqy = []
|
||||
# test_data_yqy=test_data_yqy[1:21]
|
||||
feature_data=(test_data_yqy - self.mean) / self.std
|
||||
test_x=[feature_data]
|
||||
feature_data = (test_data_yqy - self.mean) / self.std
|
||||
test_x = [feature_data]
|
||||
return np.array(test_x)
|
||||
# add end
|
||||
# add end
|
||||
|
||||
|
||||
def draw(config, origin_data, predict_norm_data):
|
||||
@@ -161,38 +160,42 @@ def draw(config, origin_data, predict_norm_data):
|
||||
print(predict_data)
|
||||
|
||||
|
||||
def draw_yqy(config, origin_data, predict_norm_data,mean_yqy,std_yqy):# 这里origin_data等同于test_data_values_yqy
|
||||
def draw_yqy(config, origin_data, predict_norm_data, mean_yqy, std_yqy): # 这里origin_data等同于test_data_values_yqy
|
||||
label_norm_data = (origin_data - mean_yqy) / std_yqy
|
||||
assert label_norm_data.shape[0] == predict_norm_data.shape[0], "The element number in origin and predicted data is different"
|
||||
assert label_norm_data.shape[0] == predict_norm_data.shape[
|
||||
0], "The element number in origin and predicted data is different"
|
||||
|
||||
#label_norm_data=label_norm_data[:,1]
|
||||
# label_norm_data=label_norm_data[:,1]
|
||||
label_name = 'high'
|
||||
label_column_num = 1
|
||||
|
||||
loss = np.mean((label_norm_data[config.predict_day:][:,1] - predict_norm_data[:-config.predict_day][0:]) ** 2, axis=0)[1]
|
||||
loss = \
|
||||
np.mean((label_norm_data[config.predict_day:][:, 1] - predict_norm_data[:-config.predict_day][0:]) ** 2, axis=0)[1]
|
||||
print("The mean squared error of stock {} is ".format(label_name), loss)
|
||||
|
||||
# label_X = range(origin_data.data_num - origin_data.train_num - origin_data.start_num_in_test)
|
||||
# predict_X = [x + config.predict_day for x in label_X]
|
||||
|
||||
label_data = label_norm_data[:,1] * std_yqy[1]+ mean_yqy[1]
|
||||
label_data = label_norm_data[:, 1] * std_yqy[1] + mean_yqy[1]
|
||||
|
||||
predict_data = predict_norm_data * std_yqy[1]+ mean_yqy[1]
|
||||
predict_data = predict_norm_data * std_yqy[1] + mean_yqy[1]
|
||||
|
||||
print(label_data)
|
||||
print(predict_data)
|
||||
# print(label_data[-1])
|
||||
# print(predict_data[-1][0])
|
||||
|
||||
|
||||
# print(label_data[-1])
|
||||
# print(predict_data[-1][0])
|
||||
|
||||
|
||||
def main(config):
|
||||
np.random.seed(config.random_seed)
|
||||
data_gainer = Data(config)
|
||||
|
||||
# add yqy
|
||||
mean_yqy=Data(config).mean
|
||||
std_yqy=Data(config).std
|
||||
#add end
|
||||
|
||||
mean_yqy = Data(config).mean
|
||||
std_yqy = Data(config).std
|
||||
# add end
|
||||
|
||||
if config.do_train:
|
||||
train_X, valid_X, train_Y, valid_Y = data_gainer.get_train_and_valid_data()
|
||||
@@ -200,15 +203,15 @@ def main(config):
|
||||
|
||||
if config.do_predict:
|
||||
# add yqy
|
||||
test_data_yqy = pd.read_csv("./data/test_data.csv",usecols=list([2, 5]))
|
||||
test_data_values_yqy=test_data_yqy.values[:]
|
||||
test_data_yqy = pd.read_csv("./data/test_data.csv", usecols=list([2, 5]))
|
||||
test_data_values_yqy = test_data_yqy.values[:]
|
||||
# test_data_yqy=[104.3,104.39]
|
||||
test_X =data_gainer.get_test_data_yqy(test_data_values_yqy)
|
||||
test_X = data_gainer.get_test_data_yqy(test_data_values_yqy)
|
||||
# add end
|
||||
# test_X, test_Y = data_gainer.get_test_data(return_label_data=True)# comment yqy
|
||||
pred_result = predict(config, test_X)
|
||||
# draw(config, data_gainer, pred_result)# comment yqy
|
||||
draw_yqy(config, test_data_values_yqy, pred_result,mean_yqy,std_yqy)
|
||||
draw_yqy(config, test_data_values_yqy, pred_result, mean_yqy, std_yqy)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user