Matplotlib多项式拟合绘图中x_new、y_new作用及绘图差异问题咨询
多项式拟合绘图参数问题解答
1. x_new与y_new的含义
你定义的PlotPolly是用来展示多项式拟合效果的工具函数,两个变量的作用如下:
x_new:通过np.linspace(15, 55, 100)生成的等间距横坐标采样序列,在15到55的自变量取值范围内均匀取100个点,采样密度远高于原始数据,目的是绘制出足够平滑的拟合曲线,避免采样点太少导致拟合线有折角。y_new:将上述均匀采样的x_new代入已经训练好的多项式拟合模型model,计算得到的对应预测值,也就是拟合曲线的纵坐标序列。
你最初的第4行plt.plot语句同时绘制了两类图形:
- 原始观测样本:用
independent_variable(原始自变量)、dependent_variabble(原始因变量)绘制,样式指定为散点'.',对应初始绘图里的离散圆点:
- 多项式拟合曲线:用
x_new、y_new绘制,样式指定为实线'-',对应初始绘图里的光滑拟合线。
2. 删除参数后绘图异常的原因
你修改后的plt.plot(independent_variable, dependent_variabble)语句存在两个变化:
- 删除了拟合曲线的绘制参数
x_new和y_new,所以图中不会再显示光滑的多项式拟合线 - 没有指定绘图样式,matplotlib会使用默认的实线样式,按照你传入原始数据的先后顺序,依次连接所有原始样本点。而你的原始样本并没有按照自变量从小到大排序,所以连接后会形成杂乱的交叉折线,对应修改后的绘图结果:

内容的提问来源于stack exchange,提问作者unit 1991
相关产品推荐
相关产品推荐

