用Python构建一个包含一个35输入、一层隐含层、21输出的BP神经网络,使用固定数据训练和测试
时间: 2024-05-11 19:17:27 浏览: 147
好的,我可以给你一个简单的 Python 代码实现。
首先需要安装 `numpy` 库和 `scikit-learn` 库,可以使用以下命令安装:
```
pip install numpy scikit-learn
```
然后可以使用以下代码实现你的要求:
```python
import numpy as np
from sklearn.neural_network import MLPClassifier
# 定义训练数据和标签
X_train = np.random.rand(100, 35)
y_train = np.random.randint(0, 21, size=100)
# 定义测试数据和标签
X_test = np.random.rand(50, 35)
y_test = np.random.randint(0, 21, size=50)
# 定义神经网络模型
model = MLPClassifier(hidden_layer_sizes=(10,), max_iter=1000)
# 训练神经网络
model.fit(X_train, y_train)
# 在测试集上评估模型性能
score = model.score(X_test, y_test)
print("Test accuracy: {:.2f}%".format(score * 100))
```
在这个例子中,我们使用 `np.random.rand()` 函数生成随机的训练和测试数据,使用 `np.random.randint()` 函数生成随机的标签。然后我们实例化一个 `MLPClassifier` 对象,使用 `hidden_layer_sizes` 参数定义一个包含一个10个神经元的隐含层,使用 `max_iter` 参数定义最大迭代次数。最后,我们使用 `fit()` 方法训练模型,使用 `score()` 方法在测试集上评估模型性能。
阅读全文