np.eye()函数
np.eye()的函数,除了生成对角阵外,还可以将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组。
例如它可以将类别总数为6的labels=[1,2,3,0,1,1]的数组转化成数组[[0,1,0,0,0,0],[0,0,1,0,0,0],[0,0,0,1,0,0],[0,0,0,0,0,0],[0,1,0,0,0,0],[0,1,0,0,0,0]]这就是所谓的one-hot的形式。
一、np.eye()
函数的原型:numpy.eye(N,M=None,k=0,dtype=<class 'float'>,order='C)
返回的是一个二维2的数组(N,M),对角线的地方为1,其余的地方为0.
参数介绍:
(1)N:int型,表示的是输出的行数
(2)M:int型,可选项,输出的列数,如果没有就默认为N
(3)k:int型,可选项,对角线的下标,默认为0表示的是主对角线,负数表示的是低对角,正数表示的是高对角。
(4)dtype:数据的类型,可选项,返回的数据的数据类型
(5)order:{‘C’,‘F'},可选项,也就是输出的数组的形式是按照C语言的行优先’C',还是按照Fortran形式的列优先‘F'存储在内存中
案例:(普通的用法)
import numpy as np
a=np.eye(3)
print(a)
a=np.eye(4,k=1)
print(a)
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
[[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]
[0. 0. 0. 0.]]
案例:(深度学习中的高级用法,将数组转成one-hot形式)
import numpy as np
labels=np.array([[1],[2],[0],[1]])
print("labels的大小:",labels.shape,"\n")
#因为我们的类别是从0-2,所以这里是3个类
a=np.eye(3)[1]
print("如果对应的类别号是1,那么转成one-hot的形式",a,"\n")
a=np.eye(3)[2]
print("如果对应的类别号是2,那么转成one-hot的形式",a,"\n")
a=np.eye(3)[1,0]
print("1转成one-hot的数组的第一个数字是:",a,"\n")
#这里和上面的结果的区别,注意!!!
a=np.eye(3)[[1,2,0,1]]
print("如果对应的类别号是1,2,0,1,那么转成one-hot的形式\n",a)
res=np.eye(3)[labels.reshape(-1)]
print("labels转成one-hot形式的结果:\n",res,"\n")
print("labels转化成one-hot后的大小:",res.shape)
结果:
labels的大小: (4, 1)
如果对应的类别号是1,那么转成one-hot的形式 [0. 1. 0.]
如果对应的类别号是2,那么转成one-hot的形式 [0. 0. 1.]
1转成one-hot的数组的第一个数字是: 0.0
如果对应的类别号是1,2,0,1,那么转成one-hot的形式
[[0. 1. 0.]
[0. 0. 1.]
[1. 0. 0.]
[0. 1. 0.]]
labels转成one-hot形式的结果:
[[0. 1. 0.]
[0. 0. 1.]
[1. 0. 0.]
[0. 1. 0.]]
labels转化成one-hot后的大小: (4, 3)
二、np.identity()
这个函数和之前的区别在于,这个只能创建方阵,也就是N=M
函数的原型:np.identity(n,dtype=None)
参数:n,int型表示的是输出的矩阵的行数和列数都是n
dtype:表示的是输出的类型,默认是float
返回的是nxn的主对角线为1,其余地方为0的数组
np.eye()函数相关推荐
- python中np.eye()函数的使用
numpy.eye(N,M=None, k=0, dtype=<type 'float'>) 关注第一个第三个参数就行了 第一个参数:输出方阵(行数=列数)的规模,即行数或列数 第三个参数 ...
- python | np.eye()函数
作用1:生成对角阵,主对角线上元素为1,其余位置均为0 import numpy as np a = np.eye(3) print(a) 结果: 如果要读取第二行,则写作:np.eye(3)[1] ...
- np.eye()的函数能将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组
np.eye()的函数,这个函数的用法非常的简单,但是在预制的代码中,这个函数的用法并非单单制造一个对角矩阵,而是通过其来将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-ho ...
- numpy.eye()函数简单使用
numpy.eye()函数简单使用 numpy.eye(N,M =无,k = 0,dtype = <class'flove'>,order ='C' ) 返回一个二维数组,其中对角线为1, ...
- python np dot函数_python科学计算之Numpy
Numpy的组成与功能 Numpy(Numeric Python)可以被理解为一个用python实现的科学计算包,包括: 1.强大的N维数组对象Array: 2.成熟的函数库: 3.实用的线性代数.傅 ...
- numpy使用np.argmax函数获取一维数组中最大值所在的索引(index of largest value in numpy array with np.argmax)
numpy使用np.argmax函数获取一维数组中最大值所在的索引(index of largest value in numpy array with np.argmax) 目录 numpy使用np ...
- pandas使用np.where函数计算返回dataframe中指定数据列包含缺失值的行索引列表list
pandas使用np.where函数计算返回dataframe中指定数据列包含缺失值的行索引列表list(index of rows with missing values in dataframe ...
- python使用numpy的np.float_power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数返回浮点数
python使用numpy的np.float_power函数计算numpy数组中每个数值的指定幂次(例如平方.立方).np.power函数默认返回整数格式.np.float_power函数默认返回浮点 ...
- python使用numpy的np.power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数默认返回浮点数
python使用numpy的np.power函数计算numpy数组中每个数值的指定幂次(例如平方.立方).np.power函数默认返回整数格式.np.float_power函数默认返回浮点数 目录
最新文章
- swoole必须和PHP使用吗,php有必要使用swoole吗
- 当前主流、最新网络技术回眸(二)
- Flutter 完美的验证码输入框(2 种方法)
- Scrum 项目1.0 2.0 3.0 4.0 5.0 6.0 7.0
- JAVA程序员必看的面试题
- [转]实用体系结构:逻辑分层
- UI Startup analysis - sap.ui.core.Core what js files are loaded
- diff git 指定时间,git diff日期?
- 求幂级数展开的部分和 (20 分)新鲜出炉!!!
- DevOps vs Agile:有什么区别?
- xml的应用与dtd约束
- SYBASE中生成所有建表语句的过程
- java stringjoiner_java-为什么我们已经拥有StringBuilder时使用StringJoiner?
- PHP学习总结(6)——PHP入门篇之PHP语句结束符
- Linux常用监控服务器性能命令 内存 CPU 磁盘
- child-selector解释
- 大数据shipin教程_大数据自学全套视频教程下载
- NS3000 电子海图长江导航应用分析
- jd-gui反编译中文乱码
- 云展网教程 | 如何更改logo和设置点击logo时的转跳链接?
热门文章
- iframe跨域嵌套头部
- 电脑开两个微信_电脑上登录两个微信或是多个微信?
- 屏蔽 手机QQ黄钻官方团队总送礼物 的简单方法
- java文档注释添加url链接和class跳转链接
- 跑分软件测试原理,跑分软件测试性能提升幅度_平板电脑评测-中关村在线
- 13/6/21 Hella Intern Interview
- 接口调用-【4】讯飞离线语音合成Windows/Linux
- C# 读取XML文件的几种方式
- 全球主要大数据公司盘点
- [转载] 翻译 西川善司著针对3D游戏爱好者的”METAL GEAR SOLID 4”图形讲座(下)