Python实现线性回归模型

    技术2022-07-10  116

    Python实现线性回归模型

    # 创建数据集,把数据写入numpy数组打印出数组的大小从data中提取出身高和体重,分别存在x,y变量中在二维空间里画出身高和体重的分布图建立线性回归模型,并进行训练检验模型效果画出已训练好的线条

    # 创建数据集,把数据写入numpy数组

    import numpy as np # 引入numpy库,主要用来做科学计算 import pandas as pd # 提供了大量库和标准数据模型,如series数据结构等 from sklearn import linear_model # 导入机器学习库里的线性回归模型 import matplotlib.pyplot as plt # 引用matplotlib库,主要用来画图

    data = np.array([[152,51],[156,53],[160,54],[164,55],[168,57],[172,60], [176,62],[180,65],[184,69],[188,72]])

    打印出数组的大小

    print(data.shape)

    从data中提取出身高和体重,分别存在x,y变量中

    x,y = data[:,0].reshape(-1,1), data[:,1]

    在二维空间里画出身高和体重的分布图

    #plt.scatter(x,y,color=‘black’) #plt.xlabel(‘height(cm)’) #plt.ylabel(‘wright(kg)’) #plt.show()

    建立线性回归模型,并进行训练

    model = linear_model.LinearRegression() model.fit(x,y)

    检验模型效果

    coef = model.coef_ # 获取自变量系数 intercept = model.intercept_ # 获取截距 R2 = model.score(x,y) # 2阶方差 print(‘训练结果,斜率为:%.4f, 截距为: %.4f’ %(coef,intercept))

    画出已训练好的线条

    xtest = np.linspace(100,200,20) # 从1-200,取20个值,测试值x ytest = model.predict(xtest[:,np.newaxis]) #预测值

    plt.scatter(x,y,marker=’.’,color=‘k’) #拟合前的样本散点图 plt.plot(xtest,ytest,color=‘r’) #拟合后的直线 plt.grid() plt.title(‘线性回归拟合直线’) plt.show()

    Processed: 0.018, SQL: 9