这篇文章所用的数据是以基于tushare数据多维度时间序列lstm预测股票价格为基础经行测试开发。
整体架构与之前的一致。
hyperopt
Hyperopt是一个Python库,用于在尴尬的搜索空间上进行串行和并行优化,搜索空间可能包括实值,离散和条件维。
https://github.com/hyperopt/hyperopt
# https://www.kaggle.com/wrosinski/keras-optimization-template-hyperopt-gridsearch
# https://stackoverflow.com/questions/56460113/valueerror-of-hyperopt-in-searching-parameters-of-randomforest
# https://stackoverflow.com/questions/43533610/how-to-use-hyperopt-for-hyperparameter-optimization-of-keras-deep-learning-netwo
# https://www.kaggle.com/rodcardoso92/using-hyperopt-in-cnn-to-find-best-hyperparameters
# https://www.kaggle.com/inspector/keras-hyperopt-example-sketch
# https://github.com/hyperopt/hyperopt
import pandas as pd
import numpy as np
import sys
def create_dataset(X, Y, window_size=30, predict_size=5):
data_X, data_Y = [], []
for i in range(len(X) - window_size - predict_size + 1):
a = X[i:(i + window_size)]
data_X.append(a)
data_Y.append(Y[i + window_size:i + window_size + predict_size, 0])
return (np.array(data_X), np.array(data_Y))
from sklearn.preprocessing import MinMaxScaler
def minMaxScaler(df, feature_range=(0, 1)):
scaler = MinMaxScaler(feature_range=feature_range)
data_raw = pd.DataFrame(df).values.astype("float32")
scaler.fit(data_raw)
return scaler
from keras.models import Sequential
from keras.layers.recurrent import LSTM
from keras.layers.core import Dense, Activation, Dropout
from keras.callbacks