Excel-Python对数据进行线性回归
文章目录
- 一、利用Excel的数据分析实现线性回归
- 1.1、添加数据分析工具
- 1.2、使用数据分析库完成线性回归练习
- 1.3、选择添加趋势线
- 1.4、对200组、2000组数据的分析
- 二、Python编程实现线性回归
- 三、Python借助skleran库
- 四、总结
- 五、参考资料
一、利用Excel的数据分析实现线性回归
1.1、添加数据分析工具
选择分析工具库和分析工具库-VBA,点击转到后点击确定
1.2、使用数据分析库完成线性回归练习
上述分析工具添加完成后,点击工具栏的数据,然后点击右上角的数据分析
在弹出的选项框中选择回归
自行选择合适的输入数据作为XY值
残差选择线性拟合图
输出结果如下图:
若坐标轴起点为0,图像显示较为怪异,可以通过设置修改坐标轴起点,具体操作如下:
点击坐标轴,在弹出的选项中选择图片箭头指示,可自主调节最大最小值以及坐标轴单位间隔
1.3、选择添加趋势线
点击选中原始数据,单击鼠标右键,选择添加趋势线
选择线性,显示R值,显示公式
设置完成后图表显示如下
1.4、对200组、2000组数据的分析
结果如下:
200组:
2000组:
二、Python编程实现线性回归
输入以下代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import math
p=pd.read_excel('D:\Pythonwork\weights_heights.xls','weights_heights')
#输入保存的excel路径
#读取20行数据
p1=p.head(20)
x=p1["Height"]
y=p1["Weight"]
# 平均值
x_mean = np.mean(x)
y_mean = np.mean(y)
#x(或y)列的总数(即n)
xsize = x.size
zi=((x-x_mean)*(y-y_mean)).sum()
mu=((x-x_mean)*(x-x_mean)).sum()
n=((y-y_mean)*(y-y_mean)).sum()
# 参数a b
a = zi / mu
b = y_mean - a * x_mean
#相关系数R的平方
m=((zi/math.sqrt(mu*n))**2)
# 这里对参数保留4位有效数字
a = np.around(a,decimals=4)
b = np.around(b,decimals=4)
m = np.around(m,decimals=4)
print(f'回归线方程:y = {a}x +({b})')
print(f'相关回归系数为{m}')
#借助第三方库skleran画出拟合曲线
y1 = a*x + b
plt.scatter(x,y)
plt.plot(x,y1,c='r')
运行结果如下:
200组数据:
2000组数据:
三、Python借助skleran库
输入以下代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import math
p=pd.read_excel('weights_heights.xls','weights_heights')
#读取20行数据
p1=p.head(20)
x=p1["Height"]
y=p1["Weight"]
# 平均值
x_mean = np.mean(x)
y_mean = np.mean(y)
#x(或y)列的总数(即n)
xsize = x.size
zi=((x-x_mean)*(y-y_mean)).sum()
mu=((x-x_mean)*(x-x_mean)).sum()
n=((y-y_mean)*(y-y_mean)).sum()
# 参数a b
a = zi / mu
b = y_mean - a * x_mean
#相关系数R的平方
m=((zi/math.sqrt(mu*n))**2)
# 这里对参数保留4位有效数字
a = np.around(a,decimals=4)
b = np.around(b,decimals=4)
m = np.around(m,decimals=4)
print(f'回归线方程:y = {a}x +({b})')
print(f'相关回归系数为{m}')
#借助第三方库skleran画出拟合曲线
y1 = a*x + b
plt.scatter(x,y)
plt.plot(x,y1,c='r')
200组:
2000组
四、总结
本次实验分别用Excel、Python、Python skleran库对数据求解线性回归方程和回归系数。相比较而言,Excel上进行数据分析十分直观而且方便,而利用Python编程则略显繁琐。本次实验对线性回归有了更加深刻地理解,扩展了自己的知识面。
五、参考资料
https://blog.csdn.net/weixin_56102526/article/details/120495151
https://blog.csdn.net/jynyyhd/article/details/129461973
Excel-Python对数据进行线性回归相关推荐
- python与excel做数据可视化-用Python进行数据可视化的10种方法
原标题:用Python进行数据可视化的10种方法 2015-11-19 关于转载授权 大数据文摘作品,欢迎个人转发朋友圈,自媒体.媒体.机构转载务必申请授权,后台留言"机构名称+转载&quo ...
- python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)
前言: python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv.txt.json等).excel文件.数据库文件.api等其他数据文件.下面小编整理下python到底有哪些 ...
- python输出数据到excel-python如何导出数据到excel文件
python导出数据到excel文件的方法: 1.调用Workbook()对象中的add_sheet()方法wb = xlwt.Workbook() ws = wb.add_sheet('A Test ...
- python与excel做数据可视化-Python的Excel操作及数据可视化
Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...
- python处理数据的优势-python处理excel的优势是什么
在我们工作中往往需要处理大量的数据,因此Excel在我们工作中是一个必不可少的工具,不过,近期很多人开始用Python处理数据,那 么,大家为什么开始用Python了呢?Python辅助处理excel ...
- python填写excel-Python向excel中写入数据的方法
最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...
- python处理excel表格数据-利用Python处理和分析Excel表中数据实战.doc
利用Python处理和分析Excel表中数据实战 [利用python进行数据分析--基础篇]利用Python处理和分析Excel表中数据实战 原创 2017年06月28日 15:09:32 标签: p ...
- python字符串写入excel-Python向excel中写入数据的方法
最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...
- python处理数据的优势-Python处理excel的优点
在我们工作中往往需要处理大量的数据,因此Excel在我们工作中是一个必不可少的工具,不过,近期很多人开始用Python处理数据,那么,大家为什么开始用Python了呢?Python辅助处理excel的 ...
- python输出数据到excel-python实现数据导出到excel的示例
这篇文章主要介绍了关于python实现数据导出到excel的示例,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 此文是在django框架下编写,从数据库中获取数据使用的是django- ...
最新文章
- IIS7.5 HTTP 错误 500 调用loadlibraryex失败的解决方法
- Gartner发布2022年政府行业主要技术趋势:XaaS、数字化、超自动化等
- 艾伟_转载:使用LINQ to SQL更新数据库(中):几种解决方案
- matplotlib 直方图_Matplotlib直方图和散点图
- java string类型的初始化
- echarts 地图常见效果
- 一道充满歧义的思维题,全网唯一刁钻分析
- Docker容器内不能联网的6种解决方案
- BFS POJ 3278 Catch That Cow
- 传入oracle中的日期类型,Oracle中的日期类型及相关函数
- python经典编程100例(1)
- RE写作Issue问题题库分析与提纲
- Android Studio 报错 : Cause : zip file is empty
- 示例程序:关于双目视觉,标定,立体匹配(视差算法),点云,双目三维重建的原理以及代码
- Python打开电脑文件夹
- php程序员如何写简历
- C++利用openssl进行公钥解密
- 世界首个拥有肌肉骨骼机器人问世(组图)
- HashMap、ConcurrentHashMap源码解读(JDK7/8)
- 进程调度算法——C++实现 [ FCFS,SJF,HPR,HRN + 开源代码 + 详细解析 ]
热门文章
- 计算机专业术语表白,围观!看各专业都怎么用术语表白的!
- 基于 PYNQ 的 AXI 总线主从控制编写(ddr3的读写)
- 【论文笔记】2019 基于激光点云pole检测的重定位方法 Long-Term Urban Vehicle Localization Using Pole Landmarks
- Exchange-导出邮箱数据到pst文件
- 当代年轻人最后悔入坑的专业
- 有关Best-effort理解的相关资料汇总
- 教你从0开始打造一场成功的微信抽奖活动方案!
- jdk1.8api+google翻译下载
- 交直流与电路分析三板斧
- 硬笔练字“州”字书写技巧,想练好都不难!