多项式回归:
处理的是一些非线性问题,像一些无法用直线拟合的离散点,比方说随着工龄的增长和职位的升高而 增加的薪酬。
这样的问题,往往只有一个自变量。
多项式回归还是比较简单的
///举一个栗子///
一家企业:十个职位与对应的薪酬
这时候有一个人来你公司应聘,他已经在6职位上工作了两年多,还有几年就可以上到7职位了,你应该给他多少薪酬呢?
这种情况,我们就将他的职位按照6.5算吧。
下面这个是线性回归的预测出的结果
linr = LinearRegression()
linr.fit(X, y)
polyr = PolynomialFeatures(degree = 2)
linrr = LinearRegression()
linrr.fit(X_poly, y)
显而易见,误差是非常大的,尤其是看到了y轴上的数量级之后….
这时候让我们来用多项式回归,可以通过增加变量的最高次数,来增加拟合结果的准确性。
我们设定的多项式的最高次数是2,但是头尾两个数值的误差还是比较大的
在这个逐步调高最高次数的过程中,发现最高次是4的时候,预测出来的结果是最为准确的。
如果你觉得这个预测图不够平滑,你也可以缩减X轴每两个坐标之间的距离。
我们做一个差来大体看一下误差:
因为对于多项式回归的误差检测,这里并没有比较好的方法。由于通过提高最高次数的过程已经可以逐步的增大预测的准确率,所以这样的误差并不算大。
现在你可以给来招聘的人给出合适的工资了
linrr.predict(polyr.fit_transform(6.5))
.
跟原有的公司给出的薪酬对应表相差并不多。