python+sklearn实现多项式回归

更新时间:2023-06-08 23:25:48 阅读: 评论:0

python+sklearn 实现多项式回归
本⽂所⽤⽂件的链接
多项式回归
⼀元多项式的⼀般形式:
y = w  + w  x + w  x  + w  x  + … w  x 把⼀元多项式函数看做多元线性⽅程:
y = w  + w  x  + w  x  + w  x  + … w  x 所以⼀元多项式回归即可以看做多元线性回归, 可以使⽤LinearRegression模型对样本数据进⾏模型训练.
1. 将⼀元多项式回归问题转换为多元线性回归问题.(只需给出最⾼次项的次数即可).
2. 将1步骤中得到结果中w  w  … 当做样本特征, 交给线性回归器训练多元线性模型. 最终得到⼀组w  w  …使得损失函数接近极⼩值.import  sklearn .pipeline as  pl
import  sklearn .preprocessing as  sp
import  sklearn .linear_model as  lm
掌指关节# 通过管线(pipeline)把两个步骤连在⼀起执⾏
# 1. 多项式特征扩展器
# 2. 多元线性模型
model = pl .make_pipeline (
创新创业队名sp .PolynomialFeatures (4),
终结的炽天使壁纸
lm .LinearRegression ()
)
  这⾥⽐较关键的是sp.PolynomialFeatures(4)中的这个数字参数,这个数字代表的是多项式的最⾼次项,下⾯展⽰不同最⾼次的图像,可以看出如果选择的不合适,会出现过拟合或者⽋拟合。
过于简单的模型, ⽆论对于训练数据还是测试数据都⽆法给出⾜够⾼的预测精度, 这种现象称为⽋拟合.
过于复杂的模型, 对于训练数据可以给出⾜够⾼的预测精度, 但是对于测试数据精度反⽽低. 这种现象称为过拟合.(模型训练过于依赖训练集)所以⼀个性能可以接受的模型应该对训练集与测试集数据都有
接近的预测精度, ⽽且精度不能太低.
012233d d
0112233d d
1201
"""
生茶熟茶
多项式回归
"""
import numpy as np
import sklearn.linear_model as lm
import matplotlib.pyplot as mp
ics as sm
import sklearn.preprocessing as sp
import sklearn.pipeline as pl
x ,y = np.loadtxt('ml_',
delimiter=',', ucols=(0,1),
unpack=True)
御果园
# 把x改为n⾏1列这样才可以作为输⼊交给模型训练x = x.reshape(-1,1)
# 训练多项式回归模型
model = pl.make_pipeline(
sp.PolynomialFeatures(10),
lm.LinearRegression()
)
model.fit(x, y)
pred_y = model.predict(x)
# 为了绘制多项式模型曲线, 构建1000个点
test_x = np.linspace(x.min(), x.max(),1000)
test_x = shape(-1,1)
pred_test_y = model.predict(test_x)
# 评估回归模型的误差
# 平均绝对值误差  1/m∑|预测输出-真实输出|
an_absolute_error(y, pred_y))
# 平均平⽅误差  sqrt(1/m∑(预测输出-真实输出)^2) an_squared_error(y, pred_y))
# 中位数绝对值误差  median(|预测输出-真实输出|) dian_absolute_error(y, pred_y))
好看的穿越种田文
# r2得分 (0,1]的⼀个分值,分数越⾼,误差越⼩
print(sm.r2_score(y, pred_y))
mp.figure('Linear Regression', facecolor='lightgray') mp.title('Linear Regression', fontsize=18)
mp.xlabel('X', fontsize=16)
mp.ylabel('Y', fontsize=16)
mp.tick_params(labelsize=12)
mp.scatter(x, y, s=60, c='dodgerblue',
label='Points')
mp.plot(test_x, pred_test_y, c='orangered',
linewidth=2, label='Regression Line')
辣条制作过程恶心
mp.legend()
mp.show()
芋头蒸肉的做法最⾼项为3次时:
最⾼项为5次时:
最⾼项为7次时:
最⾼项为10次时:

本文发布于:2023-06-08 23:25:48,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/906445.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   训练   回归   线性   拟合   数据   看出
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图