原型公式:
与多项式回归的区别:仅有一个自变量,次方数不同
适用情况:

属于线性回归的原因:线性并不是对于图线而言,是对于y是否能由自变量线性表达。
从模型角度:多项式回归为非线性模型
- --用于参照的线性回归模型
- from sklearn.Liner_model import LinearRegession
- Lin_reg=LinearRegression() --线性回归对象
- Lin_reg.fit(x,y) --拟合
-
- --多项式回归模型
- --矩阵转换
- from sklearn.preprocessing import PoltnomialFeatures
- poly_reg = PolnomialFeatures(degeree=2) --用于将自变量替换为其更高阶的矩阵(示例为2次)
- x_poly = poly_reg.fit_transform(x) --转换
-
- --模型构造
- lin_reg_2 = LinearRegression()
- Lin_reg_2.fit(x_poly,y)

- --绘制模型
- plt.sactter(x,y,color='red') --绘点
- plt.plot(x,lin_reg.predict(x),color='blue') --线性回归图像
- plt.title('真假?(线性模型)')
- plt.xlabel('职位水平')
- plt.ylabel('薪水')

- --绘制模型
- plt.sactter(x,y,color='red') --绘点
- plt.plot(x,lin_reg_2.predict(poly_reg.fit_transform(x)),color='blue')
- --多项式回归图像
- plt.title('真假?(多项式模型)')
- plt.xlabel('职位水平')
- plt.ylabel('薪水')

模拟结果已经好了很多,但是拟合度还有待提高。可以通过升高多项式的次数来提升拟合度
poly_reg = PolnomialFeatures(degeree=4) --模型次数升高为4

由于x轴间距过大,导致图像不够平缓,可以通过缩小点间距使得图像更为平整
- x_grid = np.arange(min(x),max(x),0.1) --最小值、最大值、步距
- x_grid = x_grid.reshape(len(x_grid),1) --转换为矩阵
-
- --绘制模型
- plt.sactter(x,y,color='red') --绘点
- plt.plot(x_grid,lin_reg_2.predict(poly_reg.fit_transform(x_grid)),color='blue')
- --多项式回归图像
- plt.title('真假?(多项式模型)')
- plt.xlabel('职位水平')
- plt.ylabel('薪水')

- lin_reg.predict(6.5) --线性模型预测
- --误差较大
-
- lin_reg_2.predict(poly_reg.fit_transform(6.5))
- --误差较小