lstm最简单的预测代码
时间: 2023-10-04 12:09:52 浏览: 40
以下是使用 LSTM 进行时间序列预测的一个简单例子:
```python
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, LSTM
# 生成数据
data = np.array([[i] for i in range(1, 101)])
target = np.array([[i] for i in range(2, 102)])
# 创建模型
model = Sequential()
model.add(LSTM(10, activation='relu', input_shape=(1, 1)))
model.add(Dense(1))
# 编译模型
model.compile(optimizer='adam', loss='mse')
# 训练模型
model.fit(data.reshape((100, 1, 1)), target, epochs=1000, batch_size=10, verbose=0)
# 预测结果
result = model.predict(np.array([100]).reshape((1, 1, 1)))
print(result)
```
这个例子使用 100 个整数作为输入数据,目标是预测每个整数的下一个数字。模型有一个 LSTM 层和一个 Dense 层。LSTM 层的输出形状为 (1, 10),因为我们设置 LSTM 层的输出大小为 10。Dense 层将其转换为单个输出。使用均方误差作为损失函数,使用 Adam 优化器进行训练。在训练期间,模型预测下一个数字,并将其与实际下一个数字进行比较,以计算损失。训练完成后,模型可以使用 predict() 方法对新数据进行预测。