基于numpy与pandas的bp神经网络回归relu进行预测分析的代码
时间: 2024-03-21 14:44:01 浏览: 51
以下是基于NumPy和Pandas的BP神经网络回归预测代码,使用ReLU激活函数,并进行预测分析:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 定义ReLU激活函数
def relu(x):
return np.maximum(x, 0)
# 加载训练好的模型
W1 = np.load('W1.npy')
W2 = np.load('W2.npy')
b1 = np.load('b1.npy')
b2 = np.load('b2.npy')
# 加载测试数据
test_data = pd.read_csv('test_data.csv')
X_test = np.array(test_data.iloc[:, :-1])
y_test = np.array(test_data.iloc[:, -1])
# 对测试数据进行预处理
X_test = (X_test - np.mean(X_test, axis=0)) / np.std(X_test, axis=0)
# 前向传播,得到预测结果
z1 = np.dot(X_test, W1) + b1
a1 = relu(z1)
z2 = np.dot(a1, W2) + b2
y_pred = z2.ravel()
# 计算预测误差
mse = np.mean((y_pred - y_test) ** 2)
print('Mean Squared Error:', mse)
# 绘制预测结果与真实结果的对比图
plt.figure(figsize=(8, 6))
plt.plot(y_test, label='True')
plt.plot(y_pred, label='Predicted')
plt.legend()
plt.show()
```
在计算预测误差后,使用 Matplotlib 库绘制了预测结果与真实结果的对比图。通过观察图像,可以直观地了解模型预测效果的优劣。如果预测结果与真实结果的曲线接近重合,则说明模型预测效果较好;如果曲线出现明显的偏差,则需要进一步优化模型。
阅读全文