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

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

文章目录

  • 1.读取数据
  • 2.训练模型
  • 3.可视化

  •       ʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞ
                     请添加图片描述请添加图片描述请添加图片描述
        ʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞʚʕ̯•͡˔•̯᷅ʔɞ


    大家好,我是侯小啾!

    今天分享的内容是,通过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]
    

    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}")
    
    

    输出结果如下图所示:
             


    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()
    

    拟合结果下图所示:
            


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

    物联沃分享整理
    物联沃-IOTWORD物联网 » sklearn实现多元线性回归 【Python机器学习系列(七)】

    发表评论