循环神经网络预测案例和代码
时间: 2024-04-29 11:24:08 浏览: 6
以下是一个简单的循环神经网络预测案例和代码,用于预测一系列数字的下一个数字:
```python
import numpy as np
from keras.models import Sequential
from keras.layers import SimpleRNN, Dense
# 生成数据
def generate_data(n):
X = np.random.randint(0, 10, size=(n, 10))
y = np.sum(X, axis=1) % 10
return X, y
# 构建模型
model = Sequential()
model.add(SimpleRNN(units=32, input_shape=(10, 1)))
model.add(Dense(units=10, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
# 训练模型
X_train, y_train = generate_data(1000)
X_train = np.expand_dims(X_train, axis=-1)
y_train = np.eye(10)[y_train]
model.fit(X_train, y_train, epochs=10, batch_size=32)
# 预测
X_test, y_test = generate_data(10)
X_test = np.expand_dims(X_test, axis=-1)
y_pred = model.predict(X_test)
print('实际值:', y_test)
print('预测值:', np.argmax(y_pred, axis=-1))
```
在这个例子中,我们使用`np.random.randint()`函数生成一些数字序列和它们的和,然后使用循环神经网络模型来预测下一个数字。我们使用Keras库来构建模型,包括一个SimpleRNN层和一个Dense层。然后,我们使用生成的数据来训练模型,并使用模型来预测新的数据。