zoukankan      html  css  js  c++  java
  • linear_model.LinearRegression()线性回归之身高预测体重

    # 创建数据集,把数据写入到numpy数组
    import numpy as np   #引用numpy库,主要用来做科学 
    import matplotlib.pyplot as plt #引用matplotlib库,主要用来画图
    data=np.array([[152,51],[156,53],[160,54],[164,55],
                  [168,57],[172,62],[176,62],[180,65],
                  [184,69],[188,72]])
    # 打印数组的大小
    print(data.shape)
    # 从data中提取出身高和体重,分别存放在x,y变量中
    x,y=data[:,0].reshape(-1,1),data[:,1]
     注意: data[:,0]中添加了一个reshape的函数,主要的原因是在之后调用fit函数的时候对特征矩阵x是要求是矩阵的形式。

    from sklearn import datasets, linear_model # 引用 sklearn库,主要为了使用其中的线性回归模块
    
    # TODO 1. 实例化一个线性回归的模型
    regr = linear_model.LinearRegression()
    # TODO 2. 在x,y上训练一个线性回归模型。 如果训练顺利,则regr会存储训练完成之后的结果模型
    regr.fit(x, y)
    # TODO 3. 画出身高与体重之间的关系
    plt.scatter(x, y, color='red')
    
    # 画出已训练好的线条
    plt.plot(x, regr.predict(x), color='blue')
    
    # 在二维空间中画出身高和体重的分布图
    plt.xlabel('height(cm)')
    plt.ylabel('weight(kg)')
    plt.show
    # 利用已经训练好的模型去预测身高为163的人的体重
    print ("Standard weight for person with 163 is %.2f"% regr.predict([[163]]))

    结果

  • 相关阅读:
    《Docker Deep Dive》Note
    使用 Angular RouteReuseStrategy 缓存(路由)组件
    我的 VSCode 配置
    TCP/IP协议
    Fiddler代理手机抓包
    基于 Docker 和 GitLab 的前端自动化部署实践笔记
    Vue.js 2.x render 渲染函数 & JSX
    服务器免密登陆脚本
    gitlab+jenkins+pm2+rsync实现node的自动化部署
    nginx常用
  • 原文地址:https://www.cnblogs.com/FYZHANG/p/12030202.html
Copyright © 2011-2022 走看看