numpy 线性回归
时间: 2024-06-22 18:01:56 浏览: 100
在Python中,NumPy是一个强大的数值计算库,而线性回归是统计学和机器学习中的基础方法,用于建立输入变量(自变量)和输出变量(因变量)之间的线性关系。NumPy提供了一些简单但功能丰富的工具,可以用来执行线性回归。
在NumPy中实现线性回归通常涉及以下几个步骤:
1. 导入必要的库:首先,你需要导入NumPy库以及可能用于绘图的Matplotlib或Seaborn库。
```python
import numpy as np
import matplotlib.pyplot as plt
```
2. 准备数据:创建一些模拟的数据点,通常包含一个输入向量(X)和对应的输出向量(y)。
```python
# 假设我们有2个特征
X = np.random.rand(100, 2)
# 输出是X的线性组合加上随机噪声
y = 2 + 3 * X[:, 0] + 4 * X[:, 1] + np.random.randn(100)
```
3. 简单线性回归:使用NumPy计算线性回归的参数(斜率和截距)。对于简单的线性模型,你可以使用最小二乘法来求解。
```python
# 假设w是参数向量,b是截距
w = np.linalg.inv(X.T @ X) @ X.T @ y
b = y.mean() - w @ X.mean(axis=0)
```
4. 预测:有了参数后,你可以用这些参数对新的输入数据进行预测。
```python
new_data = np.random.rand(1, 2)
prediction = w @ new_data + b
```
5. 可视化结果:最后,你可以绘制散点图和回归线来直观查看拟合效果。
```python
plt.scatter(X[:, 0], y, color='blue')
plt.plot(new_data[:, 0], prediction, color='red', label='Regression Line')
plt.legend()
plt.show()
```
阅读全文