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

《python机器学习》10.7.1 房屋数据集中的非线性关系建模

关灯直达底部

在上一小节中,我们通过一个简单问题,讨论了如何通过多项式特征来拟合非线性关系。现在来看一个更加具体的例子,并将这些概念应用到房屋数据集中。通过执行下面的代码,我们将使用二次和三次多项式对房屋价格和LSTAT(弱势群体人口所占比例)之间的关系进行建模,并与线性拟合进行对比。

代码如下:

由结果图像可知,相较于线性拟合和二次拟合,三次拟合更好地捕获了房屋价格与LSTAT之间的关系。不过,我们应该意识到,加入越来越多的多项式特征会增加模型的复杂度,从而更易导致过拟合。由此,在实际应用中,建议在单独的测试数据集上评价模型的性能,进而对其泛化性能进行评估:

此外,多项式特征并非总是非线性关系建模的最佳选择。例如,仅就MEDV-LSTAT的散点图来说,我们可将LSTAT特征变量的对数值以及MEDV的平方根映射到一个线性特征空间,并使用线性回归进行拟合。可通过执行下面的代码对此假设进行验证:

在将解释变量映射到对数空间以及取目标变量的平方根后,我们可以捕获到两者之间的线性关系,其拟合度R2=0.69看似优于前面使用的任何一种多项式回归: