文章目录

  • 一、利用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编程相关推荐

  1. 如何利用excel和jupyter 编程,对身高体重的数据做线性回归

    文章目录 前言 一.用excel 做线性回归 (一)Excel 数据分析选项设置 (二)线性回归分析 二.用jupyter编程实现 (一)借助skleran (二)不借助第三方库,用最小二乘法 总结 ...

  2. 用excel中数据分析功能做线性回归练习。分别选取20、200、2000(或20000)组数据,进行练习。记录回归方程式、相关系数R2并用jupyter编程

    目录 excel数据分析 jupyter编程用最小二乘法重做线性分析 借助skleran重做分析过程 excel数据分析 首先选取20组数据,回归方程式和相关系数R2如下图: 接下来选取200组数据进 ...

  3. 使用Excel以及jupyter编程构建身高体重数据集的线性回归方程

    目录 用excel中数据分析功能做线性回归练习 用jupyter编程(不借助第三方库),用最小二乘法 用jupyter编程,借助skleran 总结 用excel中数据分析功能做线性回归练习 1.打开 ...

  4. 【花雕体验】05 搭建行空板开发环境之SSH连接与Jupyter编程

    行空板支持多种编程软件,除了内置Jupyter编辑器,同时还支持IDLE,Thonny,VSCode等一切能输出py文件的编程软件,或者使用更极客的SSH命令行工具,以及还有Mind+的支持,也可以使 ...

  5. 在EXCEL下用VBA编程提高人事数据的管理效率

    一.概述 人力资源部承载着企业人员劳资.人事.培训.社保.档案及文件的大量数据信息,而且信息量随时间不断积累,不断地做阶段"积分"工作--汇总统计.存档,有时做"微分&q ...

  6. 中文版Excel 2007高级VBA编程宝典

    中文版Excel 2007高级VBA编程宝典 转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/12/04/1616672.html

  7. 化工计算机图形与数据处理知识内容王水,化工计算数据与图形化处理excel线性回归.ppt...

    化工计算数据与图形化处理excel线性回归 wangshui2000@ 北京化工大学分离过程中心 八.用Excel进行回归分析 3.示例 异丙醇 1,2-丙二醇 1,3-丙二醇 温度, K 密度,g/ ...

  8. 基于jupyter编程环境下——Python入门:列表4

    列表 四.操作列表 1.使用列表的一部分 -- 切片 2.元组 Python资料:Python编程XG:从入门到实践. 四.操作列表 1.使用列表的一部分 -- 切片 在前面学习了如何访问单个列表元素 ...

  9. 一元线性回归的Python编程实现

    这篇文章主要是为了实现周志华老师的机器学习书涉及的:单变量的线性回归,即一元线性回归的Python编程实现. 代码如下: # -*- coding: cp936 -*- from numpy impo ...

最新文章

  1. 人工神经网络能否驾驭生物神经元的“浓稠”程度?5到8层可能并非极限
  2. 基于Shodan Python库的批量攻击实践 撒旦网
  3. 一个简单的运算表达式解释器例子
  4. aspx页面引用html页面
  5. 【Android】进程
  6. 2017 ICPC西安区域赛 A - XOR ,线段树合并线性基
  7. linux安装mysql5.6整套_Linux安装Mysql5.6
  8. 硬件服务器processor是什么,服务器硬件检测(采用mcelog)
  9. UVa 10400 记忆化搜索
  10. NLP学习—8.模型部署—Flask、Docker
  11. Ajax 调用(传值)一般处理程序(.ashx)
  12. 旅游后台管理系列——SSM框架Service层整合
  13. 嵌入式端的神经网络算法部署和实现综合
  14. 两年多的腰疼,近十年的头皮屑,最终被我自己治疗好了(一)
  15. 计算机考研金工,我的金工跨考经验
  16. 蓝桥杯算法题-X星球居民小区的楼房全是一样的,并且按矩阵样式排列。
  17. python中int函数是什么作用_【后端开发】python中int函数怎么用
  18. 橘子学ES12之DSL搜索
  19. 【全局规划】栅格地图
  20. PII欧洲已经强制执行了,中国还会远吗?

热门文章

  1. 2018年初级通信工程师考试科目及考试内容介绍
  2. 大型虚拟现实仿真系统解决方案
  3. 湖北省计算机无纸化考试试题,湖北自考计算机无纸化考试试题.pdf
  4. joomla需要php版本,Joomla安装环境要求
  5. php数据库心得体会,学习数据库心得
  6. 深度学习的实时背景虚化
  7. 爬取天猫国际、京东全球购、淘宝全球购的商品数据
  8. HTML中空格的几种表示
  9. Teigha前世今身
  10. Java遍历List集合的4种方式