使用sklearn框架实现多项式回归。使用框架更方便,能够少写不少代码。python
使用一个简单的数据集来模拟,只有几条数据。segmentfault
若是不用框架,须要本身手动对数据添加高阶项,有了框架就方便多了。sklearn 使用 Pipeline 函数简化这部分预处理过程。框架
当 PolynomialFeatures 中的degree=1时,效果和使用 LinearRegression 相同,获得的是一个线性模型,degree=2时,是二次方程,若是是单变量的就是抛物线,双变量的就是抛物面。以此类推。机器学习
这里有一个 fit_intercept 参数,下面经过一个例子看一下它的做用。函数
当 fit_intercept 为 True 时,coef_ 中的第一个值为 0,intercept_ 中的值为实际的截距。学习
当 fit_intercept 为 False 时,coef_ 中的第一个值为截距,intercept_ 中的值为 0。spa
如图,第一部分是 fit_intercept 为 True 时的结果,第二部分是 fit_intercept 为 False 时的结果。
也就是说当 fit_intercept 为 False 时,模型就把截距放到系数的list里面了,不单独拿出来。ip
为了方便,本文中咱们都把 fit_intercept 设成 False。rem
从图中看出数据分布在一条抛物线附近。
最终获得的模型为:
若是须要代码和数据集,请扫描下面二维码关注公众号【AI developer】,回复【代码】便可免费获取。get