多项式回归:从线性到二次及三次

1 下载量 25 浏览量 更新于2024-08-29 1 收藏 213KB PDF 举报
"第六章 线性回归的拓展 - 多项式回归" 这篇内容主要探讨了如何在机器学习领域使用线性回归的拓展形式——多项式回归,以更好地适应非线性的数据关系。线性回归是预测分析的基础方法,但有时简单的线性模型无法捕捉到数据中的复杂趋势。在这种情况下,通过引入更高次幂的特征(如平方项、立方项等),可以构建多项式回归模型,从而提高预测的准确性。 首先,我们看到了一个绘图函数`runplt()`,它使用`matplotlib`库创建了一个图形,用于展示披萨的直径与价格之间的关系。这个函数定义了图形的标题、x轴和y轴的标签,并设置了坐标轴范围以及网格线的显示。`FontProperties`用于设置字体,确保在图形中使用合适的中文字符。 接着,数据生成部分,使用`numpy`库创建了训练数据集。`X_train`表示披萨的直径,`y_train`对应的是价格。为了构建多项式回归模型,我们分别创建了三个矩阵`M1`、`M2`和`M3`,它们包含了不同次数的特征。`M1`包含了一次项(直径本身),`M2`添加了二次项(直径的平方),而`M3`则进一步加入了三次项(直径的立方)。`np.vstack()`用于将特征列堆叠在一起,`np.ones_like(X_train)`生成与`X_train`形状相同的全1向量,用于模型中的截距项。 接下来,使用`statsmodels.api`库的`OLS(Ordinary Least Squares)`方法拟合了三个不同的模型:线性模型(`res_1`)、二次模型(`res_2`)和三次模型(`res_3`)。`OLS`是线性最小二乘法,用于找到最佳拟合直线或超平面,使得预测值与实际值之间的残差平方和最小。 评估模型时,通常会使用诸如Akaike Information Criterion (AIC)这样的信息准则。AIC是衡量模型复杂度和拟合度的一个指标,较小的AIC值表明模型在复杂度和拟合度之间找到了较好的平衡。这里提到二次项回归的AIC小于三次项回归的AIC,这意味着在给定的数据集上,二次模型的性能可能优于三次模型,因为它在保持解释力的同时避免了过度拟合。 最后,`res_1.summary()`和`res_1.summary2()`用于打印回归分析的结果,包括系数、R方、AIC等统计量,帮助我们理解模型的性能和变量的重要性。这些输出提供了模型的详细信息,如回归系数的估计值、标准误差、显著性水平等,对于模型选择和解释非常有用。 总结来说,本章内容介绍了如何通过多项式回归来扩展线性回归模型,以及如何使用`matplotlib`和`statsmodels`进行数据可视化和模型拟合。通过比较不同次幂的模型,我们可以选择最佳的模型结构,以更准确地捕捉数据的非线性关系。