摘要:实践股票预测原始数据下载代码单层数据预处理导入数据最高价按时间升序标准化生成训练集时间步输出维度每一批次训练多少个样例输入维度输出维度学习率训练集构建图变量模型保存模型训练模型执行图每步保存一次参数保存模型参考单层多层双向参数
实践 股票预测 原始数据
下载
# 数据预处理
## 导入数据
df = pd.read_csv("/Users/Nick/Desktop/stock_dataset.csv")
data = np.array(df["最高价"])
data = data[::-1] # 按时间升序
normalize_data=(data-np.mean(data))/np.std(data) #标准化
normalize_data=normalize_data[:,np.newaxis]# (6111, 1)
## 生成训练集
time_step=20 #时间步
rnn_unit=10 #lstm输出维度
batch_size=60 #每一批次训练多少个样例
input_size=1 #输入维度
output_size=1 #输出维度
lr=0.0006 #学习率
train_x,train_y=[],[] #训练集
for i in range(len(normalize_data)-time_step-1):
x=normalize_data[i:i+time_step]
y=normalize_data[i+1:i+time_step+1]
train_x.append(x.tolist()) # (6090, 20, 1)
train_y.append(y.tolist()) # (6090, 20, 1)
# 构建图
tf.reset_default_graph()
## 变量
X = tf.placeholder(tf.float32, [batch_size, time_step, input_size])
Y = tf.placeholder(tf.float32, [batch_size, time_step, output_size])
## 模型
cell = tf.nn.rnn_cell.LSTMCell(rnn_unit, num_proj=output_size)
output_rnn, final_states = tf.nn.dynamic_rnn(cell, X,initial_state=init_state, dtype=tf.float32)
pred = output_rnn
loss=tf.reduce_mean(tf.square(tf.reshape(pred,[-1])-tf.reshape(Y, [-1])))
train_op=tf.train.AdamOptimizer(lr).minimize(loss)
saver=tf.train.Saver(tf.global_variables()) # 保存模型
# 训练模型(执行图)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(100):
step=0
start=0
end=start+batch_size
while(end
参考
单层/多层/双向LSTM参数含义及实践
LSTM中units参数的理解
理解LSTM网络译文
有趣的RNN实践
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/43367.html
摘要:本文将详细解析深度神经网络识别图形图像的基本原理。卷积神经网络与图像理解卷积神经网络通常被用来张量形式的输入,例如一张彩色图象对应三个二维矩阵,分别表示在三个颜色通道的像素强度。 本文将详细解析深度神经网络识别图形图像的基本原理。针对卷积神经网络,本文将详细探讨网络 中每一层在图像识别中的原理和作用,例如卷积层(convolutional layer),采样层(pooling layer),...
阅读 1004·2021-11-15 11:37
阅读 3476·2021-10-27 14:14
阅读 7086·2021-09-13 10:30
阅读 3153·2021-09-04 16:48
阅读 2222·2021-08-18 10:22
阅读 2375·2019-08-30 14:19
阅读 1037·2019-08-30 10:54
阅读 1898·2019-08-29 18:40