多项式回归:从线性到二次及三次
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`进行数据可视化和模型拟合。通过比较不同次幂的模型,我们可以选择最佳的模型结构,以更准确地捕捉数据的非线性关系。
2022-08-03 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38684743
- 粉丝: 6
- 资源: 960
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析