午睡迷迷糊糊要结束的时候 忽然想起关于时间序列预测处理的不对,我所需要的数据“有的” 预测 “没有的”,采用sin序列预测模型是有容错的 也就是说新预测得到数据不会参与到下一轮的预测 中
学习了这位大佬的模型 https://blog.csdn.net/mylove0414/article/details/55805974
借此安装了pandas 用anaconda 安装 就两行 就OK了 注意要在TensorFlow环境下
打开 anaconda prompt
activate tensorflow
conda install pandas
学习程序
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import tensorflow
f=open('stock_dataset.csv')
df=pd.read_csv(f) #读入股票数据
data=np.array(df['最高价']) #获取最高价序列
data=data[::-1] #反转,使数据按照日期先后顺序排列
#以折线图展示data
plt.figure()
plt.plot(data)
plt.show()
normalize_data=(data-np.mean(data))/np.std(data) #标准化
normalize_data=normalize_data[:,np.newaxis] #增加维度
#———————————————————形成训练集—————————————————————
#设置常量
time_step=20 #时间步
rnn_unit=10 #hidden layer units
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())
train_y.append(y.tolist())
- 关于增加维度 np.newaxis 不懂意义如何 明天逐行运行看看
内容转如下
https://blog.csdn.net/lanchunhui/article/details/49725065
- 训练集的生成
明天待续