一元线性回归模型其实还有一个进阶版本——一元多次线性回归模型,比较常见的是一元二次线性回归模型,其形式可以表示为如下所示的公式:y=ax2+bx+c
之所以还需要研究一元多次线性回归模型,是因为有时真正契合的趋势线可能不是一条直线,而是一条曲线。如下图所示,根据一元二次线性回归模型绘制的曲线更契合散点图呈现的数据变化趋势。
那么如何在Python中搭建一个一元二次线性回归模型呢?首先,通过如下代码生成二次项数据。
from sklearn.preprocessing import PolynomialFeatures
poly_reg=PolynomialFeatures(degree=2)
x_=poly_reg.fit_transform(x)
X_的内容为如下图所示的一个二维数组,其中第1列数据为常数项(其实就是x0),没有特殊含义,对分析结果不会产生影响;第2列数据为原有的一次项数据(x);第3列数据为新生成的二次项数据(x2)。
生成二次项数据后,就可以通过如下代码获得一元二次线性回归模型,和之前代码的区别只是把X换成了X_。
#引入线性回归模型
from sklearn.linear_model import LinearRegression
regr_m=LinearRegression()
regr_m.fit(x_,y)
#模型可视化
import matplotlib.pyplot as