使用Excel以及jupyter编程构建身高体重数据集的线性回归方程
2021/10/1 14:11:03
本文主要是介绍使用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].values weight=df.iloc[0:raw,2:3].values return height,weight def array_to_list(array):#将数组转化为列表 array=array.tolist() for i in range(0,len(array)): array[i]=array[i][0] return array def unary_linear_regression(x,y):#一元线性回归,x,y都是列表类型 xi_multiply_yi=0 xi_square=0; x_average=0; y_average=0; f=x for 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_average for i in range(0,len(x)): f[i]=b*x[i]+a R_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=0 tot=0 for 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_square raw=[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编程构建身高体重数据集的线性回归方程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27文件掩码什么意思?-icode9专业技术文章分享
- 2024-12-27如何使用循环来处理多个订单的退款请求,代码怎么写?-icode9专业技术文章分享
- 2024-12-27VSCode 在编辑时切换到另一个文件后再切回来如何保持在原来的位置?-icode9专业技术文章分享
- 2024-12-27Sealos Devbox 基础教程:使用 Cursor 从零开发一个 One API 替代品 审核中
- 2024-12-27TypeScript面试真题解析与实战指南
- 2024-12-27TypeScript大厂面试真题详解与解析
- 2024-12-26怎么使用nsenter命令进入容器?-icode9专业技术文章分享
- 2024-12-26导入文件提示存在乱码,请确定使用的是UTF-8编码怎么解决?-icode9专业技术文章分享
- 2024-12-26csv文件怎么设置编码?-icode9专业技术文章分享
- 2024-12-25TypeScript基础知识详解