(九)机器学习 - 多项式回归

多项式回归(Polynomial Regression)是一种回归分析方法,它将自变量 xx 和因变量 yy 之间的关系建模为 nn 次多项式。多项式回归的目的是找到一个 nn 次多项式函数,使得这个函数能够最好地拟合给定的数据点。

多项式回归的数学表达式为:

其中:

  • yy 是因变量。
  • xx 是自变量。
  • β0,β1,...,βnβ0,β1,...,βn 是回归系数。
  • ϵϵ 是误差项,表示模型无法解释的随机误差。

多项式回归可以看作是线性回归的扩展,因为线性回归是 n=1n=1 时的特殊情况。当数据点之间的关系不是线性的,而是曲线时,多项式回归可以提供更好的拟合。

多项式回归的参数估计通常使用最小二乘法(Least Squares Method),该方法通过最小化误差项的平方和来找到最佳的回归系数。最小二乘法的数学表达式为:

其中 mm 是数据点的数量。

多项式回归模型的评估通常使用以下指标:

  • 决定系数(R-squared):表示模型解释的因变量的方差比例。
  • 调整后的决定系数(Adjusted R-squared):考虑了自变量数量对决定系数的影响。
  • 均方误差(Mean Squared Error, MSE):表示预测值与实际值之间的平均平方误差。
  • 均方根误差(Root Mean Squared Error, RMSE):MSE的平方根,表示预测值与实际值之间的平均误差。

例子:

注册了 18 辆经过特定收费站的汽车。假设已经记录了汽车的速度和通过时间(小时)。

x 轴表示一天中的小时,y 轴表示速度:

Python 有一些方法可以找到数据点之间的关系并画出多项式回归线。

python 复制代码
// 导入所需模块:
import numpy
import matplotlib.pyplot as plt

// 创建表示 x 和 y 轴值的数组:
x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

// NumPy 有一种方法可以让我们建立多项式模型:
mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

// 然后指定行的显示方式,我们从位置 1 开始,到位置 22 结束:
myline = numpy.linspace(1, 22, 100)

// 绘制原始散点图:
plt.scatter(x, y)

// 画出多项式回归线:
plt.plot(myline, mymodel(myline))

// 显示图表:
plt.show()

结果:

相关推荐
强盛小灵通专卖员4 分钟前
DL00219-基于深度学习的水稻病害检测系统含源码
人工智能·深度学习·水稻病害
Luke Ewin10 分钟前
CentOS7.9部署FunASR实时语音识别接口 | 部署商用级别实时语音识别接口FunASR
人工智能·语音识别·实时语音识别·商用级别实时语音识别
Joern-Lee33 分钟前
初探机器学习与深度学习
人工智能·深度学习·机器学习
云卓SKYDROID1 小时前
无人机数据处理与特征提取技术分析!
人工智能·科技·无人机·科普·云卓科技
R²AIN SUITE1 小时前
金融合规革命:R²AIN SUITE 如何重塑银行业务智能
大数据·人工智能
Code_流苏1 小时前
《Python星球日记》 第69天:生成式模型(GPT 系列)
python·gpt·深度学习·机器学习·自然语言处理·transformer·生成式模型
新知图书1 小时前
DeepSeek基于注意力模型的可控图像生成
人工智能·深度学习·计算机视觉
白熊1881 小时前
【计算机视觉】OpenCV实战项目: Fire-Smoke-Dataset:基于OpenCV的早期火灾检测项目深度解析
人工智能·opencv·计算机视觉
↣life♚2 小时前
从SAM看交互式分割与可提示分割的区别与联系:Interactive Segmentation & Promptable Segmentation
人工智能·深度学习·算法·sam·分割·交互式分割
zqh176736464692 小时前
2025年阿里云ACP人工智能高级工程师认证模拟试题(附答案解析)
人工智能·算法·阿里云·人工智能工程师·阿里云acp·阿里云认证·acp人工智能