excel线性回归与jupyter编程
文章目录
- 一、利用excel做线性回归
- 1.启动步骤
- 2.数据分析
- 二、jupyter编程
- 1.数据导入
- 2.不使用第三方库,最小二乘法编码
- 3.使用skleran编码
- 三、总结
一、利用excel做线性回归
1.启动步骤
在excel里数据一栏找到数据分析,然后即可开始进行线性回归,如果没有“数据分析”选项卡,可以在“文件”选项卡里选择“加载项”,选择“转到”,如下:
勾选需要的工具即可
2.数据分析
导入身高体重数据集后,采集前20项进行数据分析,可得如下结果:
- 相关系数(Multiple):0.570
- P值(P-value):0.01<P<0.005,故回归方程成立。
此时线性回归方程为
接下来采集前200项再来看一下
- 相关系数(Multiple):0.556
- P值(P-value):0.01<P<0.005,故回归方程成立。
此时线性回归方程为
前两千组数据:
- 相关系数(Multiple):0.498
- P值(P-value):0.01<P<0.005,故回归方程成立。
此时线性回归方程为
可以看到当数据变多以后,R^2的值变化极大
二、jupyter编程
1.数据导入
下载好软件之后,打开
会出现以下界面
这个界面用于连接web和你的本地机器,在使用过程中是不可以关闭的。
软件会自动打开,导入我们的数据集(注意:导入之后要点击上传)
2.不使用第三方库,最小二乘法编码
在新建的python文件内输入以下代码:
import pandas as pd
import numpy as np
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')
以下为测试结果
前20项数据结果
前200项数据结果
前2000项数据结果
3.使用skleran编码
代码如下:
# 导入所需的模块
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegressionp=pd.read_excel('weights_heights(身高-体重数据集).xls','weights_heights')
#读取数据行数
p1=p.head(20)
x=p1["Height"]
y=p1["Weight"]
# 数据处理
# sklearn 拟合输入输出一般都是二维数组,这里将一维转换为二维。
y = np.array(y).reshape(-1, 1)
x = np.array(x).reshape(-1, 1)
# 拟合
reg = LinearRegression()
reg.fit(x,y)
a = reg.coef_[0][0] # 系数
b = reg.intercept_[0] # 截距
print('拟合的方程为:Y = %.4fX + (%.4f)' % (a, b))
c=reg.score(x,y) # 相关系数
print(f'相关回归系数为%.4f'%c)# 可视化
prediction = reg.predict(y)
plt.xlabel('身高')
plt.ylabel('体重')
plt.scatter(x,y)
y1 = a*x + b
plt.plot(x,y1,c='r')
前20组数据
前200组数据
前2000组数据
三、总结
三种方式做出的结果大同小异,excel虽然方便且轻松,但是使用jupyter更有助于我们了解机器学习的内在算法与线性回归的相关知识。
excel线性回归与jupyter编程相关推荐
- 如何利用excel和jupyter 编程,对身高体重的数据做线性回归
文章目录 前言 一.用excel 做线性回归 (一)Excel 数据分析选项设置 (二)线性回归分析 二.用jupyter编程实现 (一)借助skleran (二)不借助第三方库,用最小二乘法 总结 ...
- 用excel中数据分析功能做线性回归练习。分别选取20、200、2000(或20000)组数据,进行练习。记录回归方程式、相关系数R2并用jupyter编程
目录 excel数据分析 jupyter编程用最小二乘法重做线性分析 借助skleran重做分析过程 excel数据分析 首先选取20组数据,回归方程式和相关系数R2如下图: 接下来选取200组数据进 ...
- 使用Excel以及jupyter编程构建身高体重数据集的线性回归方程
目录 用excel中数据分析功能做线性回归练习 用jupyter编程(不借助第三方库),用最小二乘法 用jupyter编程,借助skleran 总结 用excel中数据分析功能做线性回归练习 1.打开 ...
- 【花雕体验】05 搭建行空板开发环境之SSH连接与Jupyter编程
行空板支持多种编程软件,除了内置Jupyter编辑器,同时还支持IDLE,Thonny,VSCode等一切能输出py文件的编程软件,或者使用更极客的SSH命令行工具,以及还有Mind+的支持,也可以使 ...
- 在EXCEL下用VBA编程提高人事数据的管理效率
一.概述 人力资源部承载着企业人员劳资.人事.培训.社保.档案及文件的大量数据信息,而且信息量随时间不断积累,不断地做阶段"积分"工作--汇总统计.存档,有时做"微分&q ...
- 中文版Excel 2007高级VBA编程宝典
中文版Excel 2007高级VBA编程宝典 转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/12/04/1616672.html
- 化工计算机图形与数据处理知识内容王水,化工计算数据与图形化处理excel线性回归.ppt...
化工计算数据与图形化处理excel线性回归 wangshui2000@ 北京化工大学分离过程中心 八.用Excel进行回归分析 3.示例 异丙醇 1,2-丙二醇 1,3-丙二醇 温度, K 密度,g/ ...
- 基于jupyter编程环境下——Python入门:列表4
列表 四.操作列表 1.使用列表的一部分 -- 切片 2.元组 Python资料:Python编程XG:从入门到实践. 四.操作列表 1.使用列表的一部分 -- 切片 在前面学习了如何访问单个列表元素 ...
- 一元线性回归的Python编程实现
这篇文章主要是为了实现周志华老师的机器学习书涉及的:单变量的线性回归,即一元线性回归的Python编程实现. 代码如下: # -*- coding: cp936 -*- from numpy impo ...
最新文章
- 人工神经网络能否驾驭生物神经元的“浓稠”程度?5到8层可能并非极限
- 基于Shodan Python库的批量攻击实践 撒旦网
- 一个简单的运算表达式解释器例子
- aspx页面引用html页面
- 【Android】进程
- 2017 ICPC西安区域赛 A - XOR ,线段树合并线性基
- linux安装mysql5.6整套_Linux安装Mysql5.6
- 硬件服务器processor是什么,服务器硬件检测(采用mcelog)
- UVa 10400 记忆化搜索
- NLP学习—8.模型部署—Flask、Docker
- Ajax 调用(传值)一般处理程序(.ashx)
- 旅游后台管理系列——SSM框架Service层整合
- 嵌入式端的神经网络算法部署和实现综合
- 两年多的腰疼,近十年的头皮屑,最终被我自己治疗好了(一)
- 计算机考研金工,我的金工跨考经验
- 蓝桥杯算法题-X星球居民小区的楼房全是一样的,并且按矩阵样式排列。
- python中int函数是什么作用_【后端开发】python中int函数怎么用
- 橘子学ES12之DSL搜索
- 【全局规划】栅格地图
- PII欧洲已经强制执行了,中国还会远吗?