线性回归算法python
时间: 2023-10-24 11:19:34 浏览: 41
以下是使用Python实现线性回归算法的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数据
np.random.seed(0)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)
# 绘制数据散点图
plt.scatter(X, y)
plt.xlabel('X')
plt.ylabel('y')
plt.show()
# 添加偏置项
X_b = np.c_[np.ones((100, 1)), X]
# 计算最优参数
theta_best = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y)
# 打印最优参数
print('最优参数:', theta_best)
# 预测新数据
X_new = np.array([[0], [2]])
X_new_b = np.c_[np.ones((2, 1)), X_new]
y_predict = X_new_b.dot(theta_best)
print('预测结果:', y_predict)
# 绘制拟合直线
plt.plot(X_new, y_predict, 'r--', label='预测结果')
plt.scatter(X, y, label='原始数据')
plt.xlabel('X')
plt.ylabel('y')
plt.legend()
plt.show()
```
解释一下这段代码的实现过程:
1. 首先,我们使用`numpy`库生成了一些随机数据,用于线性回归的训练和预测。
2. 然后,我们使用`matplotlib`库绘制了这些数据的散点图。
3. 接着,我们添加了偏置项,并使用正规方程求解最优参数。
4. 然后,我们使用最优参数预测了新数据。
5. 最后,我们绘制了拟合直线,将预测结果与原始数据进行比较。
需要注意的是,这里使用的是最简单的线性回归算法,如果数据比较复杂,可能需要使用其他更复杂的算法来进行预测。
相关推荐
![none](https://img-home.csdnimg.cn/images/20210720083646.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)