基于上一篇机器学习-根据身高体重画图练习, 本篇采用回归模型,拟合身高和体重的数据,并且可以根据给定的身高预测体重。


# 引用sklearn库,其中包含线性回归模块
from sklearn import datasets, linear_model# 把数据拆分成训练集和测试集
from sklearn.model_selection import train_test_split# 引用 numpy库,做科学计算
import numpy as np# 引用matplotlib库,主要用来画图
import matplotlib.pyplot as plt# 创建数据集,并将其写入np数组中 np array和python list的区别如下:
# python 中的 list 是 python 的内置数据类型,list 中的数据类型不必相同,
# 在 list 中保存的是数据的存放的地址,即指针,并非数据。
# array() 是 numpy 包中的一个函数,array 里的元素都是同一类型。
data = np.array([[152, 51], [156, 53], [160, 54], [164, 55],[168, 57], [172, 60], [176, 62], [180, 65],[184, 69], [188, 72]])
print("数据大小(%d,%d):" %data.shape)# 将数据存放在X特征向量和y标签中。因为后面调用模型的时候对特征向量有要求,所以需要把X,y转化为矩阵形式
X, y = data[:, 0].reshape(-1, 1), data[:, 1]# 使用train_test_split函数把数据随机分为训练数据和测试数据。训练数据的占比由参数train_size决定
# 例如:当train_size=0.8时,表示80%的数据将会作为训练数据,20%的数据为测试数据
X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.8)# 创建线性回归模型
regr = linear_model.LinearRegression()# 在X_train, y_train上训练线性回归模型。训练结束后,结果模型将会存储到regr中
regr.fit(X_train, y_train)# 计算训练好的模型在训练数据上得拟合程度 R:决定系数
print("训练数据决定稀疏R: %.2f" % regr.score(X_train, y_train))# 画训练数据图
plt.scatter(X_train, y_train, color='black')
# 画出训练数据上已经拟合完毕的直线
plt.plot(X_train, regr.predict(X_train), color='blue')# 画出测试数据
plt.scatter(X_test, y_test, color='pink')# 添加x,y轴标签
plt.xlabel('height(cm)')
plt.ylabel('weight(kg)')
plt.show()# 输出在测试数据上的决定系数
print('测试数据决定系数:%.2f' % regr.score(X_test, y_test))
print("测试模型,给出身高,输出体重: %.2f" % regr.predict([[199]]))print("训练数据特征:", X_train, "训练数据标签", y_train)
print("测试数据特征:", X_test, "测试数据标签", y_test)

执行以后,图像如下:

解释一下:
regr.score拟合程度 R:决定系数:
其中,y是实际的观察值, y^ 是模型预测的输出值。 y-是表示的是均值

用数学语言简单描述,决定系数R2就是回归平方和与总平方和之比,其表达式为:
R2取值在0到1之间,其数值大小反映了回归贡献的相对程度,即在因变量Y的总变异中,回归关系所能解释的百分比。R2是最常用于评价回归模型优劣程度的指标。

机器学习-线性回归-身高体重关系预测相关推荐

  1. 基于图机器学习的微生物网络关系预测算法研究

    龙亚辉预答辩公告 浏览次数:410日期:2021-03-19编辑:院研究生秘书 预答辩公告 论文题目 基于图机器学习的微生物网络关系预测算法研究 答辩人 龙亚辉 指导教师 骆嘉伟 答辩委员会 主席 王 ...

  2. 用python写身高体重关系,excel表格输入数据进行查找

    import random #随机数的包 import pandas as pd #Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为 ...

  3. 机器学习-根据身高体重画图

    import numpy as np import matplotlib.pyplot as plt# 第一列身高,第二列体重 data = np.array([[152, 51], [156, 53 ...

  4. 使用线性回归对身高体重数据集分析

    初识线性回归 一.数学原理分析 线性回归 最小二乘法 二.EXCEL简单处理 20组数据 200组数据 2000组数据 20000组数据 三.python语言设计最小二乘法计算(使用anaconda的 ...

  5. 机器学习(18)-- SVM支持向量机(根据身高体重分类性别)

    目录 一.基础理论 二.身高体重预测性别 1.获取数据(男女生身高体重) 2.数据处理(合并数据) 3.设置标签 4.创建分类器(支持向量机) 4-1.创建svm分类器 4-2.设置分类器属性(线性核 ...

  6. 用python预测小孩的身高体重标准表格_【儿童的标准身高】儿童身高体重标准表2017 儿童身高体重计算公式...

    导读:如何判断婴儿的正常生长身高在其生长发育过程中的重量?我收集了2017年儿童身高为每个人称重标准表.我不再需要用肉眼来判断了~通过比较表格来监控宝宝的成长~宝宝身高体重标准表根据儿童体格发育调查结 ...

  7. 机器学习线性回归实践,广告投放收益预测,手写梯度下降

    机器学习线性回归模型,广告投放与收益预测,梯度下降法python实现 数据集介绍 代码 数据导入 特征缩放 绘制三个不同地方广告投入与收益的散点图 数据处理 添加偏置列 定义代价函数 梯度下降 初始化 ...

  8. 使用Excel和jupyter拟合身高体重数据集线性回归模型

    文章目录 一.使用Excel拟合线性回归模型 1.20组数据拟合 2.200组数据拟合 3.2000组数据拟合 二.用jupyter编程(不借助第三方库),用最小二乘法 3.20组数据拟合 2.200 ...

  9. 《机器学习实战》8.2 线性回归基础篇之预测鲍鱼年龄

    <机器学习实战>8.2 线性回归基础篇之预测鲍鱼年龄 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多人工智能.机器学习干货 csdn:https://blo ...

最新文章

  1. 包装类接受string 会自动将数字类型string转换成对应得包装类型
  2. 在HTML网页中巧用URL
  3. Ubuntu 下编译ffmpeg和x264解编码器(翻译的一篇文章:)
  4. php如何编写应用程序,编写安全 PHP 应用程序的七个习惯
  5. linux | 网卡驱动
  6. 写在11期培训班第五次课后作业前面的话
  7. Spring MVC搭建REST风格网站
  8. Java字符串分割到map_如何在Java中按空格分割字符串并以键值形式存储在map中?...
  9. java实现连拍_Camera2连拍相关问题
  10. Java I/O系统之Print 流
  11. php对字符数组进行排序,php数组去重_php对数组中字符串去重并排序例子
  12. bootstrap-toastr 消息通知插
  13. 专访《白话区块链》作者蒋勇:学习区块链空谈不如实践
  14. 携手业内专家赋能AI时代--EpiK铭识协议发起开源知识运动
  15. 【天怒人怨爸爸系列】一年级数学口算题生成程序
  16. 百度、腾讯、搜狐、360等产品职位笔试智力题分析
  17. 调用百度API实现人脸识别
  18. 宝塔面板网站nginx伪静态配置方法
  19. 山经·南山经:猨翼山 [yuán yì shān]
  20. 提交代码到git仓库

热门文章

  1. cocos creator动态加载DragonBones
  2. Flash页面的在线编辑
  3. JS实现页面的自动滚动【自动阅读、JS小工具】
  4. scrum立会报告+燃尽图(第三周第四次)
  5. Java抽象类,接口练习之猫狗案例加入跳高功能分析及其代码实现
  6. 元素故事系列1:土壤团聚体的氮磷循环
  7. 欧姆龙NX1P2编程学习(1)-编写功能块注意事项
  8. QNX系统挂载CF卡
  9. qt opengl 3d基本形状-螺旋管
  10. Day29 - Countdown Timer