首页 » python机器学习 » python机器学习全文在线阅读

《python机器学习》10.7 线性回归模型的曲线化-多项式回归

关灯直达底部

在前面的小节中,我们假定了单一解释变量与响应变量的线性关系。对于不符合线性假设的问题,一种常用的解释方法就是通过加入多项式项来使用多项式回归模型:

其中,d为多项式的次数。虽然我们可以使用多项式回归对非线性关系建模,但由于线性回归系数w的缘故,多项式回归仍旧被看作是多元线性回归模型。

我们现在来讨论一下,如何使用scikit-lern中的PolynominalFeatures转换类在只含一个解释变量的简单回归问题中加入二次项(d=2),并且将多项式回归与线性回归进行线性拟合比较。步骤如下:

1)增加一个二次多项式项:

2)拟合一个用于对比的简单线性回归模型:

3)使用经过转换后的特征针对多项式回归拟合一个多元线性回归模型:

从结果图像中可以看出,与线性拟合相比,多项式拟合可以更好地捕获到解释变量与响应变量之间的关系。

执行上述代码后,MSE的值由线性拟合的570下降到了二次拟合的61。同时,与线性拟合的结果(R2=0.832)相比,二次模型的判定系数的结果(R2=0.982)更好,说明二次拟合在此问题上的效果更佳。