kreas lstm时间序列预测
时间: 2023-07-20 13:12:08 浏览: 71
基于lstm LSTM的时间序列预测
5星 · 资源好评率100%
Keras 是一个开源的深度学习框架,其中包含了很多预训练的模型和可以自定义的模型。LSTM(Long Short-Term Memory) 是一种常用于处理时间序列数据的循环神经网络模型。在 Keras 中,可以使用 `LSTM` 层来构建 LSTM 模型,同时可以使用 `Dense` 层来添加全连接层。
下面是一个使用 Keras 中的 LSTM 模型进行时间序列预测的示例代码:
```python
from keras.models import Sequential
from keras.layers import LSTM, Dense
import numpy as np
# 构建训练数据
data = np.array([[i+j for i in range(5)] for j in range(100)])
target = np.array([data[i+5] for i in range(95)])
data = data.reshape(100, 5, 1)
# 构建 LSTM 模型
model = Sequential()
model.add(LSTM(64, input_shape=(5, 1)))
model.add(Dense(5))
# 编译模型
model.compile(loss='mse', optimizer='adam')
# 训练模型
model.fit(data[:95], target, epochs=1000, batch_size=1, verbose=2)
# 预测数据
predict_data = np.array([[[100], [101], [102], [103], [104]]])
result = model.predict(predict_data)
print(result)
```
在上面的代码中,首先使用 `numpy` 构建了一个简单的时间序列数据,然后将数据转换为 `LSTM` 模型所需要的格式。接下来,使用 `Sequential` 构建了一个包含一个 `LSTM` 层和一个全连接层的模型。然后编译模型,指定损失函数和优化器。最后训练模型,使用 `fit` 方法进行训练,并使用 `predict` 方法进行预测。
阅读全文