当前位置:网站首页>机器学习(三)多项式回归
机器学习(三)多项式回归
2022-08-11 07:38:00 【ViperL1】
一、原理
原型公式:
与多项式回归的区别:仅有一个自变量,次方数不同
适用情况:
属于线性回归的原因:线性并不是对于图线而言,是对于y是否能由自变量线性表达。
二、Python处理
从模型角度:多项式回归为非线性模型
①设置工作路径
②数据预处理
③多项式回归模型的建立和拟合
--用于参照的线性回归模型
from sklearn.Liner_model import LinearRegession
Lin_reg=LinearRegression() --线性回归对象
Lin_reg.fit(x,y) --拟合
--多项式回归模型
--矩阵转换
from sklearn.preprocessing import PoltnomialFeatures
poly_reg = PolnomialFeatures(degeree=2) --用于将自变量替换为其更高阶的矩阵(示例为2次)
x_poly = poly_reg.fit_transform(x) --转换
--模型构造
lin_reg_2 = LinearRegression()
Lin_reg_2.fit(x_poly,y)
--绘制模型
plt.sactter(x,y,color='red') --绘点
plt.plot(x,lin_reg.predict(x),color='blue') --线性回归图像
plt.title('真假?(线性模型)')
plt.xlabel('职位水平')
plt.ylabel('薪水')
--绘制模型
plt.sactter(x,y,color='red') --绘点
plt.plot(x,lin_reg_2.predict(poly_reg.fit_transform(x)),color='blue')
--多项式回归图像
plt.title('真假?(多项式模型)')
plt.xlabel('职位水平')
plt.ylabel('薪水')
模拟结果已经好了很多,但是拟合度还有待提高。可以通过升高多项式的次数来提升拟合度
poly_reg = PolnomialFeatures(degeree=4) --模型次数升高为4
由于x轴间距过大,导致图像不够平缓,可以通过缩小点间距使得图像更为平整
x_grid = np.arange(min(x),max(x),0.1) --最小值、最大值、步距
x_grid = x_grid.reshape(len(x_grid),1) --转换为矩阵
--绘制模型
plt.sactter(x,y,color='red') --绘点
plt.plot(x_grid,lin_reg_2.predict(poly_reg.fit_transform(x_grid)),color='blue')
--多项式回归图像
plt.title('真假?(多项式模型)')
plt.xlabel('职位水平')
plt.ylabel('薪水')
④进行预测
lin_reg.predict(6.5) --线性模型预测
--误差较大
lin_reg_2.predict(poly_reg.fit_transform(6.5))
--误差较小
边栏推荐
- 测试用例很难?有手就行
- Interaction of Pico neo3 in Unity
- 记录一些遇见的bug——Lombok和Mapstruct的冲突导致,A component required a bean of type ‘com.XXX.controller.converter.
- 1056 组合数的和 (15 分)
- leetcode:69. x 的平方根
- 求职简历这样写,轻松搞定面试官
- JRS303-Data Verification
- 【TA-霜狼_may-《百人计划》】图形3.7.2 command buffer简
- The easiest trick to support quick renaming of various files
- 1081 检查密码 (15 分)
猜你喜欢
随机推荐
pyqt5实现仪表盘
redis操作
oracle19c不支持实时同步参数,请教一下大佬们有什么好的解决办法吗?
1106 2019数列 (15 分)
1046 punches (15 points)
查询跟踪快递单号物流,智能分析物流中转有延误的单号
Kaldi语音识别工具编译问题记录(踩坑记录)
1101 B是A的多少倍 (15 分)
测试用例很难?有手就行
1091 N-Defensive Number (15 points)
1106 2019 Sequence (15 points)
记录一些遇见的bug——Lombok和Mapstruct的冲突导致,A component required a bean of type ‘com.XXX.controller.converter.
Use tf.argmax in Tensorflow to return the index of the maximum value of the tensor along the specified dimension
1056 组合数的和 (15 分)
1076 Wifi Password (15 points)
囍楽cloud task source code
支持各种文件快速重命名最简单的小技巧
Item 2 - Annual Income Judgment
1002 Write the number (20 points)
Pico neo3在Unity中的交互操作