numpy 中的降维与升维

news2024/12/25 8:56:47

升维(Dimensionality Augmentation):增加数据的维度,通常用于提供更多信息或从不同的角度看待数据。

降维(Dimensionality Reduction):减少数据的维度,通常用于简化数据或去除无关紧要的特征。

降维

最近在飞桨学习机器学习的时候发现一个概念让人摸不清头脑,计算梯度的时候使用了 np.mean 来进行降维。

z = net.forward(x)
gradient_w=(z-y)* x
gradient_w=np.mean(gradient_w,axis=0)
gradient_w= gradient_w[:,np.newaxis]
gradient_b=(z-y)
gradient_b=np.mean(gradient_b)
#此处b是一个数值,所以可以直接用np.mean得到一个标量
gradient_b
142.50289323156107

在这里插入图片描述
‌numpy数组的维度(13,)和(13,1)的主要区别在于它们的维度和表示的数据结构。‌

当一个numpy数组的维度为(13,),它表示这是一个一维数组,只有一个索引维度,即数据只能通过一个单一的索引来进行访问。这种形状的数组通常用于表示一维的数据序列,如时间序列数据或简单的数值列表。在这种情况下,数组中的每个元素都可以通过一个单一的索引(从0到12)来访问。
相比之下,维度为(13,1)的数组是一个二维数组,但它只有一列。这种形状的数组在numpy中通常用于表示行向量,即它有一个行索引维度和一个列索引维度,尽管列维度只包含一个元素。这种形状的数组在数学和科学计算中特别有用,因为它允许对数据进行矩阵操作,即使这些矩阵实际上只有一行或一列。例如,一个(13,1)的数组可以看作是一个包含13个元素的列向量,每个元素都可以通过两个索引(一行和一列)来访问。
在这里插入图片描述
为什么降维?
1、随着数据维度不断降低,数据存储所需的空间也会随之减少。
2、低维数据有助于减少计算/训练用时。
3、一些算法在高维度数据上容易表现不佳,降维可提高算法可用性。
4、降维可以用删除冗余特征解决多重共线性问题。比如我们有两个变量:“一段时间内在跑步机上的耗时”和“卡路里消耗量”。这两个变量高度相关,在跑步机上花的时间越长,燃烧的卡路里自然就越多。因此,同时存储这两个数据意义不大,只需一个就够了。
5、降维有助于数据可视化。如果数据维度很高,可视化会变得相当困难,而绘制二维三维数据的图表非常简单。

减少数据的维度,通常用于简化数据或去除无关紧要的特征。

数组的降维

  1. array.ravel()
  2. np.squeeze(array)
  3. array.reshape(-1)
  4. array.flatten():返回源数据的副本

升维

增加数据的维度,通常用于提供更多信息或从不同的角度看待数据。
数组的升维

  1. np.atleast_2d(array) 转为二维数组
  2. np.atleast_3d(array) 转为三维数组
  3. array[:,np.newaxis] 升维一次 n行一列
  4. array[np.newaxis,:] 升维一次 一行n列
  5. array.reshape(-1,1) 变成n行一列
  6. array.reshape(1,-1) 变成一行n列
  7. np.expand_dims(a, axis)

参考:

https://www.jb51.net/python/3024442as.htm
https://huaweicloud.csdn.net/6380889adacf622b8df89aba.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2082464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信删除了好友如何恢复?试试这3种方法,赶紧收藏!shuju

推荐3种恢复微信聊天记录的方法,帮你找回微信好删除好友的聊天记录! 操作简单,可用于iOS、安卓手机和PC电脑端 1、万兴数据管家 点击直达官网下载>>https://huifu.wondershare.cn 万兴数据管家是一款专业的微信数据恢复软件。 支持苹…

免费屏幕录制软件有哪些?2024年最新测评15款录屏软件排行榜!

免费屏幕录制软件有哪些?2024年最新测评15款录屏软件排行榜! 录屏软件数不胜数,百度一搜跳出来成百上千款录屏软件!专业的用起来太复杂,简单的又不堪其用!还有各种各样防不胜防的套路。如果你没有像我一样深度了解过不同录屏软件…

基于huggingface peft进行qwen1.5-7b-chat训练/推理/服务发布

一、huggingface peft微调框架 1、定义 PEFT 是一个为大型预训练模型提供多种高效微调方法的Python库。 微调传统范式是针对每个下游任务微调模型参数。大模型参数总量庞大,这种方式变得极其昂贵和不切实际。PEFT采用的高效做法是训练少量提示参数(Prompt Tuning…

Datawhale X 李宏毅苹果书 AI夏令营 task2

《深度学习详解》 - 自适应学习率(Task2) 1. 自适应学习率的背景与重要性 学习率的挑战: 在训练深度学习模型时,选择合适的学习率至关重要。过大的学习率会导致训练过程中的震荡,使模型无法收敛;过小的学…

在 Navicat BI 中创建自定义字段:自定义排序顺序

在 Navicat BI 中,数据源引用你连接中的表或文件/ODBC 源中的数据,并可从不同服务器类型的中选择数据。数据集中的字段可用于构建图表。事实上,在构建图表时,你需要指定用于填充图表的数据源。 正如我们在整个系列中所看到的&…

html+css网页设计 个人网站模版 个人博客12个页面

htmlcss网页设计 个人网站模版 个人博客12个页面 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码…

【Material-UI】Radio Group中的独立单选按钮详解

文章目录 一、Radio 组件概述1. 组件介绍2. 基本用法 二、Radio 组件的关键特性1. 选中状态控制2. 关联标签3. 自定义样式和图标4. 使用 FormControlLabel 提供标签支持 三、Radio 组件的实际应用场景1. 表单中的单选题2. 设置选项3. 导航选择 四、注意事项1. 无障碍支持2. 样式…

开源产品GeoMesa、MobilityDB存在哪些不足

友情链接: •时空数据库系列(一)什么是时空数据?特征和适用场景有哪些? •时空数据库系列(二)时空数据库介绍 了解数据模型与应用场景 •时空数据库系列(三)技术讲解&…

Linux网口指令

一 查看配置 ifconfig 二 修改IP sudo ifconfig ens33 192.168.150.100 netmask 255.255.255.0

一键复制模板,乔拓云助力小程序快速上线

选择乔拓云模板开发小程序,成本低且高效,适合各行业快速搭建。注册账号后,进入模板中心,轻松找到匹配行业的模板。模板内容自定义灵活,图片、文字随心修改,右侧编辑区操作直观。 小程序开发步骤概览&#x…

秋招复习笔记——嵌入式裸机开发

底层相关的内容,之前掌握的不扎实,现在重新把相关重点记录一下,做个笔记记诵。 相关基础知识 ST简单内容 用的F103ZET6,72MHz,FLASH是512KB,SRAM是64KB,144个引脚,2基本定时器&am…

Java 入门指南:Java IO流 —— 字符流

何为Java流 Java 中的流(Stream) 是用于在程序中读取或写入数据的抽象概念。流可以从不同的数据源(输入流)读取数据,也可以将数据写入到不同的目标(输出流)。流提供了一种统一的方式来处理不同…

【深入解析】最优控制中的Bellman方程——从决策到最优路径的探索

【深入解析】最优控制中的Bellman方程——从决策到最优路径的探索 关键词提炼 #Bellman方程 #最优控制 #动态规划 #值函数 #策略优化 #强化学习 第一节:Bellman方程的通俗解释与核心概念 1.1 通俗解释 Bellman方程是动态规划中的一个核心概念,它像是…

apache服务器的配置(服务名httpd,端口80 , 443)

目录 前言 配置文件 apache服务器的配置 安装apache服务器 配置防火墙 编辑配置文件 配置虚拟主机 基于域名的虚拟主机 配置dns服务器 将网站文件放到/var/www/目录下 修改主配置文件 新建vhost文件夹和xxx.conf文件 编辑 .conf 文件 检查配置 重启服务并访问网…

VS2022 QT环境显示中文乱码问题

1.问题描述 在VS2022中搭配QT6.2环境,在文本处设置中文,运行程序文本处显示乱码,未成功显示想要的中文。 2.VS2015解决方案 如果是VS2015的话,直接文件->高级保存选项可以设置编码格式。 修改编码格式如图所示:…

2024 Python3.10 系统入门+进阶(九):封装解构和集合Set常用操作详解

目录 一、封装和解构1.1 基本概念1.2 简单解构1.3 剩余变量解构1.4 嵌套解构1.5 其他解构1.6 序列模式匹配(Python 3.10 最引人注目的新功能)1.6.1 结构模式匹配的核心概念1.6.2 结构模式匹配的优势1.6.3 使用场景 二、集合Set2.1 初始化2.1.1 "{}&…

Java-数据结构-包装类和认识泛型 !!!∑(゚Д゚ノ)ノ

目录: 一、包装类: 1、基本数据类型所对应的包装类: 2、装箱和拆箱: 二、 泛型: 1、什么是泛型: 2、语法: 三、泛型类的使用: 四、裸类型: 五、泛型的擦除机制&…

82、k8s的service-NodePort端口开放和生命周期

0、单节点服务,以及k8s命令 [rootmaster01 ~]# kubectl create deployment nginx1 --imagenginx:1.22 --replicas3[rootmaster01 ~]# kubectl create deployment nginx1 --imagenginx:1.22 ##创建资源 deployment.apps/nginx1 created[rootmaster01 opt]# kubec…

软件设计原则之依赖倒置原则

依赖倒置原则(Dependency Inversion Principle, DIP)是软件设计中一个非常重要的原则,它属于面向对象设计的SOLID原则之一。这个原则的核心在于通过抽象来降低模块间的耦合度,使得系统更加灵活和可维护。 目录 依赖倒置原则的基本…

对标GPT-4o,科大讯飞正以大模型重塑语音产业

每个科技时代,都有每个时代的“入口”和“推手”。 在PC时代,浏览器和搜索引擎是主要入口,用户通过键盘和鼠标进行交互。移动互联时代,APP和应用商店成为典型入口,用户用手指和触摸屏进入互联网世界。而在眼下的AI时代…