多元线性回归,打印回归模型的表达式,画出数据点以及拟合曲线,用python 实现
时间: 2024-09-27 09:07:52 浏览: 47
多元线性回归的表达式一般采用矩阵形式,如下所示:
对于 n 维特征向量 X 和一维响应变量 Y,我们可以写成:
Y = θ₀ + θᵀX
其中 θ₀ 是截距项,θ 是参数向量,包含每个特征对应的权重,XT 表示 X 的转置。
要在Python中实现这个过程并可视化数据点和拟合曲线,我们可以使用`numpy`处理数组操作,`matplotlib`绘制图形,以及`sklearn`库来进行线性回归模型的拟合。以下是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# 假设我们有样本数据
X = np.random.rand(100, 2) # 100 个样本,每样本有两个特征
Y = 2 * X[:, 0] + 3 * X[:, 1] + np.random.randn(100) # 真实函数生成的标签
# 创建并训练模型
model = LinearRegression()
model.fit(X, Y)
# 打印回归模型的表达式(在本例中,相当于θ₀=0)
intercept, coefficients = model.intercept_, model.coef_
print(f"回归方程为: {intercept:.2f} + {coefficients[0]:.2f}x_1 + {coefficients[1]:.2f}x_2")
# 绘制数据点和拟合曲线
plt.scatter(X[:, 0], X[:, 1], c=Y, cmap='viridis') # 数据点颜色根据真实值
plt.plot(X[:, 0], model.predict(X), color='red', label='Fit') # 拟合线
plt.xlabel('X1')
plt.ylabel('X2')
plt.legend()
plt.show()
```
阅读全文