python多元线性回归
时间: 2023-09-12 21:10:27 浏览: 65
Python中可以使用多种库实现多元线性回归,其中比较常用的是numpy和scikit-learn。
首先,我们需要先导入相关的库:
```
import numpy as np
from sklearn.linear_model import LinearRegression
```
然后,我们需要准备好训练数据。假设我们有两个自变量 $x_1$ 和 $x_2$,以及一个因变量 $y$:
```
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([2, 4, 5, 7, 8])
y = np.array([6, 9, 12, 15, 18])
```
接着,我们将自变量和因变量合并成一个矩阵:
```
X = np.column_stack((x1, x2))
```
然后,我们可以使用scikit-learn的LinearRegression类来拟合模型:
```
model = LinearRegression().fit(X, y)
```
现在,我们可以用模型来进行预测。假设我们想要预测当 $x_1=6$,$x_2=9$ 时,$y$ 的值:
```
x_new = np.array([6, 9]).reshape(1, -1)
y_new = model.predict(x_new)
print(y_new)
```
这里的 `reshape(1, -1)` 是因为我们需要将 `x_new` 转换成一个二维数组,其中第一维度为样本数(这里只有一个样本),第二维度为自变量个数。
完整的代码如下:
```
import numpy as np
from sklearn.linear_model import LinearRegression
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([2, 4, 5, 7, 8])
y = np.array([6, 9, 12, 15, 18])
X = np.column_stack((x1, x2))
model = LinearRegression().fit(X, y)
x_new = np.array([6, 9]).reshape(1, -1)
y_new = model.predict(x_new)
print(y_new)
```
阅读全文