【机器学习】多项式回归sklearn实现

使用sklearn框架实现多项式回归。使用框架更方便,可以少写很多代码。

使用一个简单的数据集来模拟,只有几条数据。

代码

如果不用框架,需要自己手动对数据添加高阶项,有了框架就方便多了。sklearn 使用 Pipeline 函数简化这部分预处理过程。

当 PolynomialFeatures 中的degree=1时,效果和使用 LinearRegression 相同,得到的是一个线性模型,degree=2时,是二次方程,如果是单变量的就是抛物线,双变量的就是抛物面。以此类推。

这里有一个 fit_intercept 参数,下面通过一个例子看一下它的作用。

当 fitintercept 为 True 时,coef 中的第一个值为 0,intercept_ 中的值为实际的截距。

当 fitintercept 为 False 时,coef 中的第一个值为截距,intercept_ 中的值为 0。

如图,第一部分是 fitintercept 为 True 时的结果,第二部分是 fitintercept 为 False 时的结果。

也就是说当 fit_intercept 为 False 时,模型就把截距放到系数的list里面了,不单独拿出来。

为了方便,本文中我们都把 fit_intercept 设成 False。

运行结果

从图中看出数据分布在一条抛物线附近。

最终得到的模型为:

如果需要代码和数据集,请扫描下面二维码关注公众号【AI developer】,回复【代码】即可免费获取。

猜你喜欢

转载自www.cnblogs.com/ai-developer/p/10503395.html