利用python进行线性回归
时间: 2023-09-04 11:13:21 浏览: 90
线性回归是一种广泛应用的统计方法,用于分析自变量与因变量之间的线性关系。在 Python 中,可以使用 scikit-learn 或 statsmodels 库来进行线性回归分析。
下面是一个使用 scikit-learn 库的例子:
```python
# 导入所需库
import numpy as np
from sklearn.linear_model import LinearRegression
# 准备数据
X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
y = np.dot(X, np.array([1, 2])) + 3
# 创建线性回归对象并拟合数据
reg = LinearRegression().fit(X, y)
# 打印输出模型参数
print(reg.coef_)
print(reg.intercept_)
# 预测新数据
print(reg.predict(np.array([[3, 5]])))
```
这个例子中,我们准备了一个包含 4 个样本和 2 个自变量的数据集 X,并根据线性关系生成了因变量 y。然后,我们使用 LinearRegression() 创建一个线性回归对象 reg,并使用 fit() 方法来拟合数据。
最后,我们可以使用 coef_ 和 intercept_ 方法来打印输出模型参数,以及使用 predict() 方法来预测新数据。
如果你想使用 statsmodels 库进行线性回归,可以参考以下代码:
```python
# 导入所需库
import numpy as np
import statsmodels.api as sm
# 准备数据
X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
y = np.dot(X, np.array([1, 2])) + 3
# 添加常数项
X = sm.add_constant(X)
# 创建线性回归对象并拟合数据
model = sm.OLS(y, X).fit()
# 打印输出模型参数
print(model.summary())
# 预测新数据
print(model.predict(np.array([[1, 4]])))
```
这个例子中,我们同样准备了一个包含 4 个样本和 2 个自变量的数据集 X,并根据线性关系生成了因变量 y。不同的是,我们需要使用 add_constant() 方法将常数项添加到数据集 X 中,然后使用 OLS() 方法创建一个线性回归对象 model,并使用 fit() 方法来拟合数据。
最后,我们可以使用 summary() 方法来打印输出模型参数,以及使用 predict() 方法来预测新数据。
阅读全文