为什么在做RNN股票预测 时,训练模型的时候发现报了tuple index out of range的错误,明明变量中没有关于元组的函数,但是却说我超出的元组的索引范围,是版本问题吗
import pandas as pd
import numpy as np
data = pd.read_csv("zgpa_train.csv")
data.head()
price = data.loc[:,'close']
price.head()
#归一化处理
price_norm = price/max(price)
print(price_norm)
%matplotlib inline
from matplotlib import pyplot as plt
fig1 = plt.figure(figsize=(10,5))
plt.plot(price)
plt.title("close price")
plt.xlabel("time")
plt.ylabel("price")
plt.show()
def extract_data(data,time_step):
X = []
y = []
#0,1,2,3....9 :10个样本 time_step=8; 0-7,1-8,2-9 三组
for i in range(len(data) - time_step ):
X.append([a for a in data[ i: i+time_step ]])
y.append(data[i+time_step])
X = np.array(X)
X = X.reshape(X.shape[0],X.shape[1],1)#维度1
return X,y
time_step = 8
X,y = extract_data(price_norm,time_step)
print(X.shape,X)
from keras.layers import Dense,SimpleRNN
from keras.models import Sequential
model = Sequential()
#input_shape 训练长度 每个数据的维度
model.add(SimpleRNN(units=5,input_shape=(time_step,1),activation="relu"))
#输出层
#输出数值 units =1 1个神经元 "linear"线性模型
model.add(Dense(units=1, activation="linear"))
#配置模型 回归模型y
model.compile(optimizer="adam",loss="mean_squared_error")
model.summary()
model.fit(X,y,batch_size=30,epochs=200)

