python神经网络预测时序数据代码
时间: 2024-03-10 22:40:12 浏览: 88
以下是使用LSTM模型进行时间序列预测的Python代码示例:
```python
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, LSTM
# 准备数据
data = [10, 20, 30, 40, 50, 60, 70, 80, 90]
look_back = 3
def create_dataset(dataset, look_back=1):
dataX, dataY = [], []
for i in range(len(dataset)-look_back):
a = dataset[i:(i+look_back)]
dataX.append(a)
dataY.append(dataset[i + look_back])
return np.array(dataX), np.array(dataY)
trainX, trainY = create_dataset(data, look_back)
# 创建LSTM模型
model = Sequential()
model.add(LSTM(4, input_shape=(1, look_back)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
# 训练模型
model.fit(trainX.reshape(len(trainX), 1, look_back), trainY, epochs=100, batch_size=1, verbose=2)
# 预测未来的值
future = [70, 80, 90]
future = np.array(future).reshape((len(future), 1, 1))
prediction = model.predict(future)
print(prediction)
```
该代码首先准备了一个包含10个数据点的时间序列数据,然后使用`create_dataset`函数将数据转换为可以用于训练LSTM模型的格式。接着,创建了一个包含一个LSTM层和一个全连接层的模型,并使用`compile`方法编译模型。最后,使用`fit`方法训练模型,并使用`predict`方法预测未来的值。
阅读全文