使用Excel以及jupyter编程构建身高体重数据集的线性回归方程
目录
- 用excel中数据分析功能做线性回归练习
- 用jupyter编程(不借助第三方库),用最小二乘法
- 用jupyter编程,借助skleran
- 总结
用excel中数据分析功能做线性回归练习
1.打开excel,选择左上角文件,选择打开,点击浏览,选择要打开用的数据文件
2.点击文件,选择更多,点击选项,点击加载项,点击转到
3.勾选分析数据库,点击确定
5.选择上方数据,点击最右侧的数据分析
6.勾选回归,点击确定,选择x轴和y轴范围,勾选残差中的线性拟合图,点击确定
7.在生成的图像中点击右上角的加号,点击趋势线,点击线性预测,点击确定,点击下方显示公式,得到前20行的线性回归方程
8.同样方式得到前200,2000行数据的线性方程
用jupyter编程(不借助第三方库),用最小二乘法
1.打开命令框,输入jupyter notebook
2.在弹出的网页界面中右上角选择new,选择python3
3.在界面中输入以下代码
import pandas as pd
def read_file(raw):#根据行数来读取文件df = pd.read_excel('D:/guoqing001/weights_heights(身高-体重数据集).xls',sheet_name ='weights_heights')height=df.iloc[0:raw,1:2].valuesweight=df.iloc[0:raw,2:3].valuesreturn height,weightdef array_to_list(array):#将数组转化为列表array=array.tolist()for i in range(0,len(array)):array[i]=array[i][0]return arraydef unary_linear_regression(x,y):#一元线性回归,x,y都是列表类型xi_multiply_yi=0xi_square=0;x_average=0;y_average=0;f=xfor i in range(0,len(x)):xi_multiply_yi+=x[i]*y[i]x_average+=x[i]y_average+=y[i]xi_square+=x[i]*x[i]x_average=x_average/len(x)y_average=y_average/len(x)b=(xi_multiply_yi-len(x)*x_average*y_average)/(xi_square-len(x)*x_average*x_average)a=y_average-b*x_averagefor i in range(0,len(x)):f[i]=b*x[i]+aR_square=get_coefficient_of_determination(f,y,y_average)print('R_square='+str(R_square)+'\n'+'a='+str(a)+' b='+str(b))def get_coefficient_of_determination(f,y,y_average):#传输计算出的值f和x,y的真实值还有平均值y_average,获取决定系数,也就是R²res=0tot=0for i in range(0,len(y)):res+=(y[i]-f[i])*(y[i]-f[i])tot+=(y[i]-y_average)*(y[i]-y_average)R_square=1-res/tot return R_squareraw=[20,200,2000,20000]
for i in raw:print('数据组数为'+str(i)+":")height,weight=read_file(i)height=array_to_list(height)weight=array_to_list(weight)unary_linear_regression(height,weight)
3.此处测试了前20,200,2000,以及20000行数据,点击运行得到结果
4.对比可知与excel做出来的结果几乎一致
用jupyter编程,借助skleran
同样方式在点击python3后界面中输入以下代码
总结
通过此次实验,我初步掌握了最小二乘法来求线性方程的方法,用调用包的方式做要记住相应的函数,自己写则要记住相应的公式
使用Excel以及jupyter编程构建身高体重数据集的线性回归方程相关推荐
- 使用线性回归对身高体重数据集分析
初识线性回归 一.数学原理分析 线性回归 最小二乘法 二.EXCEL简单处理 20组数据 200组数据 2000组数据 20000组数据 三.python语言设计最小二乘法计算(使用anaconda的 ...
- 基于jupyter notebook的python编程-----利用梯度下降算法求解多元线性回归方程,并与最小二乘法求解进行精度对比
基于jupyter notebook的python编程-----利用梯度下降算法求解多元线性回归方程,并与最小二乘法求解进行精度对比目录 一.梯度下降算法的基本原理 1.梯度下降算法的基本原理 二.题 ...
- Python实现部分地区男人身高/体重数据的线性拟合
# Python实现部分地区男人身高/体重数据的线性拟合 import numpy as np import matplotlib.pyplot as plt from scipy import op ...
- 如何利用excel和jupyter 编程,对身高体重的数据做线性回归
文章目录 前言 一.用excel 做线性回归 (一)Excel 数据分析选项设置 (二)线性回归分析 二.用jupyter编程实现 (一)借助skleran (二)不借助第三方库,用最小二乘法 总结 ...
- 使用Excel和jupyter拟合身高体重数据集线性回归模型
文章目录 一.使用Excel拟合线性回归模型 1.20组数据拟合 2.200组数据拟合 3.2000组数据拟合 二.用jupyter编程(不借助第三方库),用最小二乘法 3.20组数据拟合 2.200 ...
- excel线性回归与jupyter编程
文章目录 一.利用excel做线性回归 1.启动步骤 2.数据分析 二.jupyter编程 1.数据导入 2.不使用第三方库,最小二乘法编码 3.使用skleran编码 三.总结 一.利用excel做 ...
- 用excel中数据分析功能做线性回归练习。分别选取20、200、2000(或20000)组数据,进行练习。记录回归方程式、相关系数R2并用jupyter编程
目录 excel数据分析 jupyter编程用最小二乘法重做线性分析 借助skleran重做分析过程 excel数据分析 首先选取20组数据,回归方程式和相关系数R2如下图: 接下来选取200组数据进 ...
- 神经网络-1 利用年龄身高体重判断性别
也许完全错误,先随便写写记着~~ 11行代码实现神经网络 这就是开头. 偶然冒出来一个想法,利用神经网络通过年龄身高体重判断性别. 在百度文库找了一份身高体重表 某地身高体重表 转到Excel里,把年 ...
- 最小二乘法构建线性回归方程
目录 一. 相关数学知识的定义 1.1 一元线性回归的定义 1.2 相关系数R²的定义 二.使用jupyter来做一元线性回归分析 2.1 根据最小二乘法公式手动构建一元线性回归模型 2.2 调用包实 ...
最新文章
- leetcode算法题--UTF-8 编码验证
- 【阿里云课程】如何从零开始完成一个完整的CV项目
- windbg网络双机内核调试
- [bootstrapValidator] - bootstrap的验证工具
- java 取栈顶元素_《Java实战之内存模型》详解篇
- 差分放大电路差模共模公式_提高差分放大器的共模抑制比,电阻的选择很关键...
- 二位数组的随机生成,遍历,求和,反转。和两个变量的^反转 源码
- C++_004异常处理
- 转载:.NET Memory Leak: XmlSerializing your way to a Memory Leak
- (转)Apache 中 KeepAlive 配置的合理使用
- netperf使用指南
- Spring Boot学习总结(30)—— Spring Native 初体验
- 如何在服务台提交工单?
- Javaweb项目在线学习平台系统(Spring+SpringMVC+MyBatis)
- python传输视频文件_以字节形式将视频文件流式传输到stdin
- 中国八横八纵大容量光纤通信网——世界级光纤通信网
- 认识 WebAssembly
- 李飞飞CS231n2017课程双语字幕版上线 !(附课程链接)
- 汽车芯片的可靠性为其他行业打开了大门
- 锤子手机获工信部入网许可:清晰照曝光
热门文章
- IMX6UL实现独立硬件看门狗的方案
- Mabtech丨艾美捷EBI3特异性单克隆抗体
- server sql 本月最后一天_sql server-在SQL中获取每月的最后一天
- 腾讯云在线Web Shell初体验
- Z-Fighting问题解决方案实例
- 【java】学生成绩分级ABCDE(起点闭关计划)
- 使用InstallUtil安装WINDOWS服务时,会被360木马防火墙阻止。
- 【javaScript】Object.prototype.toString.call() 、 instanceof 以及 Array.isArray() 区别与优化层面的比较
- CLIP(Contrastive Language-Image Pre-Training)简介
- 查看linux版本号