IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 使用Excel以及jupyter编程构建身高体重数据集的线性回归方程 -> 正文阅读

[开发工具]使用Excel以及jupyter编程构建身高体重数据集的线性回归方程

用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,获取决定系数,也就是R2
    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后界面中输入以下代码
在这里插入图片描述

总结

通过此次实验,我初步掌握了最小二乘法来求线性方程的方法,用调用包的方式做要记住相应的函数,自己写则要记住相应的公式

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 15:04:03  更:2021-10-02 15:06:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 1:48:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码