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()函数相关推荐

  1. python中np.eye()函数的使用

    numpy.eye(N,M=None, k=0, dtype=<type 'float'>) 关注第一个第三个参数就行了 第一个参数:输出方阵(行数=列数)的规模,即行数或列数 第三个参数 ...

  2. python | np.eye()函数

    作用1:生成对角阵,主对角线上元素为1,其余位置均为0 import numpy as np a = np.eye(3) print(a) 结果: 如果要读取第二行,则写作:np.eye(3)[1] ...

  3. np.eye()的函数能将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组

    np.eye()的函数,这个函数的用法非常的简单,但是在预制的代码中,这个函数的用法并非单单制造一个对角矩阵,而是通过其来将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-ho ...

  4. numpy.eye()函数简单使用

    numpy.eye()函数简单使用 numpy.eye(N,M =无,k = 0,dtype = <class'flove'>,order ='C' ) 返回一个二维数组,其中对角线为1, ...

  5. python np dot函数_python科学计算之Numpy

    Numpy的组成与功能 Numpy(Numeric Python)可以被理解为一个用python实现的科学计算包,包括: 1.强大的N维数组对象Array: 2.成熟的函数库: 3.实用的线性代数.傅 ...

  6. 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 ...

  7. pandas使用np.where函数计算返回dataframe中指定数据列包含缺失值的行索引列表list

    pandas使用np.where函数计算返回dataframe中指定数据列包含缺失值的行索引列表list(index of rows with missing values in dataframe ...

  8. python使用numpy的np.float_power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数返回浮点数

    python使用numpy的np.float_power函数计算numpy数组中每个数值的指定幂次(例如平方.立方).np.power函数默认返回整数格式.np.float_power函数默认返回浮点 ...

  9. python使用numpy的np.power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数默认返回浮点数

    python使用numpy的np.power函数计算numpy数组中每个数值的指定幂次(例如平方.立方).np.power函数默认返回整数格式.np.float_power函数默认返回浮点数 目录

最新文章

  1. swoole必须和PHP使用吗,php有必要使用swoole吗
  2. 当前主流、最新网络技术回眸(二)
  3. Flutter 完美的验证码输入框(2 种方法)
  4. Scrum 项目1.0 2.0 3.0 4.0 5.0 6.0 7.0
  5. JAVA程序员必看的面试题
  6. [转]实用体系结构:逻辑分层
  7. UI Startup analysis - sap.ui.core.Core what js files are loaded
  8. diff git 指定时间,git diff日期?
  9. 求幂级数展开的部分和 (20 分)新鲜出炉!!!
  10. DevOps vs Agile:有什么区别?
  11. xml的应用与dtd约束
  12. SYBASE中生成所有建表语句的过程
  13. java stringjoiner_java-为什么我们已经拥有StringBuilder时使用StringJoiner?
  14. PHP学习总结(6)——PHP入门篇之PHP语句结束符
  15. Linux常用监控服务器性能命令 内存 CPU 磁盘
  16. child-selector解释
  17. 大数据shipin教程_大数据自学全套视频教程下载
  18. NS3000 电子海图长江导航应用分析
  19. jd-gui反编译中文乱码
  20. 云展网教程 | 如何更改logo和设置点击logo时的转跳链接?

热门文章

  1. iframe跨域嵌套头部
  2. 电脑开两个微信_电脑上登录两个微信或是多个微信?
  3. 屏蔽 手机QQ黄钻官方团队总送礼物 的简单方法
  4. java文档注释添加url链接和class跳转链接
  5. 跑分软件测试原理,跑分软件测试性能提升幅度_平板电脑评测-中关村在线
  6. 13/6/21 Hella Intern Interview
  7. 接口调用-【4】讯飞离线语音合成Windows/Linux
  8. C# 读取XML文件的几种方式
  9. 全球主要大数据公司盘点
  10. [转载] 翻译 西川善司著针对3D游戏爱好者的”METAL GEAR SOLID 4”图形讲座(下)