线性回归算法样例
时间: 2023-06-21 22:09:30 浏览: 55
好的,以下是一个简单的线性回归算法样例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
np.random.seed(0)
X = np.random.rand(100, 1)
y = 3*X.squeeze() + np.random.randn(100)
# 将数据分为训练集和测试集
train_size = 80
X_train, X_test = X[:train_size], X[train_size:]
y_train, y_test = y[:train_size], y[train_size:]
# 训练线性回归模型
X_train = np.c_[np.ones((train_size, 1)), X_train] # 添加偏置项
theta_best = np.linalg.inv(X_train.T.dot(X_train)).dot(X_train.T).dot(y_train)
# 打印模型参数
print("theta_best:", theta_best)
# 绘制训练集数据和模型预测结果
X_new = np.array([[0], [1]])
X_new_b = np.c_[np.ones((2, 1)), X_new]
y_predict = X_new_b.dot(theta_best)
plt.plot(X_train[:,1], y_train, "b.")
plt.plot(X_new, y_predict, "r-")
plt.axis([0, 1, 0, 6])
plt.show()
# 在测试集上评估模型性能
X_test = np.c_[np.ones((len(X_test), 1)), X_test]
y_test_predict = X_test.dot(theta_best)
mse = np.mean((y_test_predict - y_test)**2)
print("MSE:", mse)
```
该代码首先生成一个随机的一维数据集,将其分为训练集和测试集,并在训练集上使用线性回归算法拟合模型。然后,打印模型参数和绘制训练集数据及模型预测结果的图表。最后,在测试集上评估模型性能并打印均方误差(MSE)。
相关推荐
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)