机器学习(5)-多项式回归

这篇博客探讨了如何使用多项式回归处理非线性问题,例如根据工龄和职位预测薪酬。通过实例展示了线性回归的不足,并逐步调整最高次数找到最佳的拟合度,最终确定在最高次数为4时预测结果最为准确。提供了源码和数据集的下载链接。
摘要由CSDN通过智能技术生成

多项式回归:
这里写图片描述
处理的是一些非线性问题,像一些无法用直线拟合的离散点,比方说随着工龄的增长和职位的升高而 增加的薪酬
这样的问题,往往只有一个自变量。
多项式回归还是比较简单的
///举一个栗子///
一家企业:十个职位与对应的薪酬
这里写图片描述

这时候有一个人来你公司应聘,他已经在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))

这里写图片描述.
跟原有的公司给出的薪酬对应表相差并不多。

源码与数据集下载地址:下载RAR

没有积分的也可以免费向我索要哈,评论区留下邮箱地址。我看见的时候就打包发送喽~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值