多项式回归

之前我们的线性回归法有个很大的限制,就是假设我们数据是成线性关系的

我们实际场景中,有线性关系的情况可能是比较少的

更多的数据之间他们具有的是非线性关系

模型泛化

多项式回归_第1张图片

对于这种模型我们也可以用线性回归来计算

但是他有更加强的非线性关系

我们用二次曲线来拟合效果更好

我们的式子y=ax^2+bx+c

如果我们将x2理解成一个特征

x理解成另外一个特征

换句话说我们原来样本只有一个特征x

现在有2个特征数据集

这个式子本身依然是线性回归

但是从x2来看是非线性方程

这样的方式就是对象是回归

多项式回归_第2张图片

np.random.normal是噪音

多项式回归_第3张图片

我们的数据集就是这样的

此时我们的样本输出y和x之间是非线性关系

我们先用线性回归来拟合

多项式回归_第4张图片

我们绘制一下

多项式回归_第5张图片

最终结果是这个样子

这个拟合效果是不够好的


添加一个特征

我们用x2作为新的特征

多项式回归_第6张图片

原来样本每一个数据集有一个特征,现在有两个特征


用新的数据集线性回归训练


多项式回归_第7张图片

如果这样写这个折线图是乱的     ,这是因为我们生成的x是没有顺序的

我们想要平滑曲线,得先对x进行排序

多项式回归_第8张图片


最终绘制就是这个样子

显然这条曲线对我们数据集的拟合程度更好


可以看到系数

和我们原来的生成数据是拟合的,偏差是因为有噪音


这样有截距


多项式回归并没有新的地方完全用的是线性回归思路,在于原来数据样本,新的特征是原来的特征组合


你可能感兴趣的:(机器学习,Python)