• sklearn实现多元线性回归 【Python机器学习系列(七)】


    sklearn实现多元线性回归 【Python机器学习系列(七)】


          ʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞ
                     在这里插入图片描述请添加图片描述请添加图片描述请添加图片描述在这里插入图片描述
        ʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞ


    大家好,我是侯小啾!在这里插入图片描述

    在这里插入图片描述今天分享的内容是,通过python的sklearn库实现多元线性回归。

    自行准备一组可以做多元回归的数据,以数据文件data.csv为例,做二元回归。

    1.读取数据

    首先导入相关库,并获取数据的代码如下:

    import numpy as np
    from sklearn.linear_model import LinearRegression
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    
    data = np.loadtxt("data.csv",delimiter=",")
    
    # 特征:前两列
    x_data = data[:, 0:-1]
    # 标签:最后一列
    y_data = data[:, -1]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.训练模型

    然后开始训练模型,并输出求得的相关参数。并做预测进行测试。

    # 训练模型
    # 创建线性回归模型对象
    model = LinearRegression()
    # 训练模型
    model.fit(x_data, y_data)
    
    print(f"theta1,theta2:{model.coef_}")
    print(f"theta0:{model.intercept_}")
    
    # 构建测试样本
    x_test = [[102, 4]]
    预测
    predict = model.predict(x_test)
    print(f"当前 里程为 102 运输次数为 4 预测时长为:{predict}")
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    输出结果如下图所示:
             在这里插入图片描述


    3.可视化

    将回归结果以图像的形式展示出来。

    # 可视化散点分布
    x_0 = x_data[:, 0]
    x_1 = x_data[:, 1]
    x_0,  x_1 = np.meshgrid(x_0, x_1)
    y_hat = model.intercept_ + model.coef_[0]*x_0 + model.coef_[1]*x_1
    
    fig = plt.figure()
    ax = Axes3D(fig)
    ax.scatter(x_data[:, 0], x_data[:, 1], y_data)
    ax.plot_surface(x_0, x_1, y_hat)
    ax.set_xlabel("x1")
    ax.set_ylabel("x2")
    ax.set_zlabel("y")
    plt.show()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    拟合结果下图所示:
            在这里插入图片描述


    本次分享就到这里,小啾感谢您的关注与支持!
    🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ

  • 相关阅读:
    WZOI-207双胞胎数
    gin框架教程笔记
    【form校验】3.0项目多层list嵌套
    大数据培训课程GroupingComparator分组案例实操
    【Proteus仿真】【STM32单片机】电蒸锅温度控制系统
    java计算机毕业设计房屋租赁网站源码+mysql数据库+系统+lw文档+部署
    【zlmediakit】uint32的rtp时间戳和uint64的毫秒时间戳互转
    Go 接口-契约介绍
    使用python监控linux服务器
    关于AtomSeg程序移植问题(持续更新)
  • 原文地址:https://blog.csdn.net/weixin_48964486/article/details/126221430