1.基础概念 线性回归研究的是一个目标变量和一个自变量之间的回归问题,但有时候在很多实际问题中,影响目标变量的自变量往往不止一个,而是多个自变量,比如绵羊的产毛量这个变量同时受到绵羊体重、胸围、体长等多个变量的影响,因此需要设计一个目标变量与多个自变量间的回归分析,即多元回归分析。 由于线性回归并不适用于所有的数据,我们需要建立曲线来适应我们的数据,现实世界中的曲线关系很多都是增加多项式实现的,比如一个二次函数模型: ![]() 再或者一个三次函数模型: ![]() 多项式回归(Polynomial Regression)是研究一个因变量与一个或多个自变量间多项式的回归分析方法。如果自变量只有一个时,称为一元多项式回归;如果自变量有多个时,称为多元多项式回归。在一元回归分析中,如果依变量y与自变量x的关系为非线性的,但是又找不到适当的函数曲线来拟合,则可以采用一元多项式回归。一元m次多项式方程如下: ![]() 2.PolynomialFeatures Python的多项式回归需要导入sklearn.preprocessing子类中PolynomialFeatures类实现。 共有三个参数,degree表示多项式阶数,一般默认值是2;interaction_only如果值是true(默认是False),则会产生相互影响的特征集;include_bias表示是否包含偏差列。 PolynomialFeatures类通过实例化一个多项式,建立等差数列矩阵,然后进行训练和预测,最后绘制相关图形。 3.示例 接下来与前面的一元线性回归分析进行对比试验。 ![]() 通过R方(R-Squared)来评估多项式回归预测的效果,R方也叫确定系数(Coefficient of Determination),它表示模型对现实数据拟合的程度。 计算R方的方法有几种,一元线性回归中R方等于皮尔逊积矩相关系数(Pearson Product Moment Correlation Coefficient)的平方,该方法计算的R方是一定介于0~1之间的正数。另一种是Sklearn库提供的方法来计算R方。 结果显示: 一元线性回归的R方值为0.9118,二次多项式回归的R方值为0.9407,五次多项式回归的R方值为0.9803,说明数据集中超过98%的价格都可以通过模型解释。 建议多项式回归的阶数不要太高,否则会出现过拟合现象。 |
|