• 机器学习(三)多项式回归


    一、原理

     

            原型公式:y=b_{0}+b_{1}x_{1}+b_{2}x_{1}{2}+b_{n}x_{1}{n}

                    与多项式回归的区别:仅有一个自变量,次方数不同

            适用情况:

            属于线性回归的原因:线性并不是对于图线而言,是对于y是否能由自变量线性表达

    二、Python处理

            从模型角度:多项式回归为非线性模型

            ①设置工作路径

            ②数据预处理

            ③多项式回归模型的建立和拟合

    1. --用于参照的线性回归模型
    2. from sklearn.Liner_model import LinearRegession
    3. Lin_reg=LinearRegression() --线性回归对象
    4. Lin_reg.fit(x,y) --拟合
    5. --多项式回归模型
    6. --矩阵转换
    7. from sklearn.preprocessing import PoltnomialFeatures
    8. poly_reg = PolnomialFeatures(degeree=2) --用于将自变量替换为其更高阶的矩阵(示例为2次)
    9. x_poly = poly_reg.fit_transform(x) --转换
    10. --模型构造
    11. lin_reg_2 = LinearRegression()
    12. Lin_reg_2.fit(x_poly,y)

    1. --绘制模型
    2. plt.sactter(x,y,color='red') --绘点
    3. plt.plot(x,lin_reg.predict(x),color='blue') --线性回归图像
    4. plt.title('真假?(线性模型)')
    5. plt.xlabel('职位水平')
    6. plt.ylabel('薪水')

    1. --绘制模型
    2. plt.sactter(x,y,color='red') --绘点
    3. plt.plot(x,lin_reg_2.predict(poly_reg.fit_transform(x)),color='blue')
    4. --多项式回归图像
    5. plt.title('真假?(多项式模型)')
    6. plt.xlabel('职位水平')
    7. plt.ylabel('薪水')

             模拟结果已经好了很多,但是拟合度还有待提高。可以通过升高多项式的次数来提升拟合度

    poly_reg = PolnomialFeatures(degeree=4)    --模型次数升高为4

            由于x轴间距过大,导致图像不够平缓,可以通过缩小点间距使得图像更为平整

    1. x_grid = np.arange(min(x),max(x),0.1) --最小值、最大值、步距
    2. x_grid = x_grid.reshape(len(x_grid),1) --转换为矩阵
    3. --绘制模型
    4. plt.sactter(x,y,color='red') --绘点
    5. plt.plot(x_grid,lin_reg_2.predict(poly_reg.fit_transform(x_grid)),color='blue')
    6. --多项式回归图像
    7. plt.title('真假?(多项式模型)')
    8. plt.xlabel('职位水平')
    9. plt.ylabel('薪水')

             ④进行预测

    1. lin_reg.predict(6.5) --线性模型预测
    2. --误差较大
    3. lin_reg_2.predict(poly_reg.fit_transform(6.5))
    4. --误差较小
  • 相关阅读:
    【C++设计模式之简单工厂模式】分析及示例
    带你刷(牛客网)C语言百题(第三天)
    JavaScript中的特殊数据类型和其具体用法
    前端框架Bootstrap
    iOS基础介绍(一)
    Linux:Command ‘vim‘ not found, but can be installed with:
    软件设计23种设计模式
    css一个图片上面加上遮罩蒙板,只修改img的样式不多写标签
    Android 学习之追踪应用的安装情况
    驱动开发:内核使用IO/DPC定时器
  • 原文地址:https://blog.csdn.net/weixin_37878740/article/details/126260332