目录

(一)np.random.rand()

(二)np.random.randn()

(三)np.random.randint(low,high,size,dtype)

(四)np.random.uniform(low,high,size)


引言:在机器学习还有深度学习中,经常会用到这几个函数,为了便于以后熟练使用,现在对这几个函数进行总结。

(一)np.random.rand()

该函数括号内的参数指定的是返回结果的形状,如果不指定,那么生成的是一个浮点型的数;如果指定一个数,那么生成的是一个numpy.ndarray类型的数组;如果指定两个数字,那么生成的是一个二维的numpy.ndarray类型的数组。如果是两个以上的数组,那么返回的维度就和指定的参数的数量个数一样。其返回结果中的每一个元素是服从0~1均匀分布的随机样本值,也就是返回的结果中的每一个元素值在0-1之间

举例说明:

import numpy as np
mat = np.random.rand()
print(mat)
print(type(mat))
mat = np.random.rand(2)
print(mat)
print(type(mat))
mat = np.random.rand(3, 2)
print(mat)
print(type(mat))

结果为:注意我用红框框起来的一组对应两个print输出,可对应程序看结果。

(二)np.random.randn()

该函数和rand()函数比较类似,只不过运用该函数之后返回的结果是服从均值为0,方差为1的标准正态分布,而不是局限在0-1之间,也可以为负值,因为标准正态分布的曲线是关于x轴对阵的。其括号内的参数如果不指定,那么生成的是一个浮点型的数;如果指定一个数,那么生成的是一个numpy.ndarray类型的数组;如果指定两个数字,那么生成的是一个二维的numpy.ndarray类型的数组。和rand()相比,除了元素值不一样,其他的性质是一样的。

举例说明:

import numpy as np
mat = np.random.randn()
print(mat)
print(type(mat))
mat = np.random.randn(2)
print(mat)
print(type(mat))
mat = np.random.randn(3, 2)
print(mat)
print(type(mat))

结果为:

(三)np.random.randint(low,high,size,dtype)

该函数中包含了几个参数,其具体含义为:

low:生成的元素值的最小值,即下限,如果没有指定high这个参数,则low为生成的元素值的最大值。

high:生成的元素值的最大值,即上限。

size:指定生成元素值的形状,也就是数组维度的大小。

dtype:指定生成的元素值的类型,如果不指定,默认为整数型

返回结果:返回值是一个大小为size的数组,如果指定了low和high这两个参数,那么生成的元素值的范围为[low,high),不包括high;如果不指定high这个参数,则生成的元素值的范围为[0,low)。如果不指定size这个参数,那么生成的元素值的个数只有一个。

举例说明:

import numpy as np
# 指定一个参数low
mat = np.random.randint(low=1)
print(mat)
print(type(mat))# 指定low和high,生成一个[low,high)的元素值
mat = np.random.randint(low=1, high=5)
print(mat)
print(type(mat))# 指定size大小,生成一个三行三列的二维数组,元素个数为3x3=9个
mat = np.random.randint(low=2, high=10, size=(3, 3))
print(mat)
# 查看默认元素值的类型
print(type(mat[0][0]))mat = np.random.randint(low=2, high=10, size=(3, 3), dtype=np.uint8)
print(mat)
print(type(mat[0][0]))

结果为:

(四)np.random.uniform(low,high,size)

参数说明:

low:生成元素值的下界,float类型,默认值为0
high:生成元素值的上界,float类型,默认值为1
size:输出样本的数目,可以指定一个值,也可指指定大于等于两个值
返回对象:ndarray类型,形状为size中的数值指定,其元素个数为size指定的参数的乘积

我们前面已经说过了rand()这个函数,它返回的元素值是服从0-1的均匀分布,那如果不想要生成的是0-1范围内的均匀分布,想要其它范围内的均匀分布怎么办呢。

uniform()实现了这个功能,它可以生成服从指定范围内的均匀分布的元素。其返回值的元素类型为浮点型。需注意的是元素值的范围包含low,不包含high。

举例说明:

import numpy as np
# 指定一个参数low
mat = np.random.uniform()
print(mat)
print(type(mat))# 指定low和high,生成一个[low,high)的元素值
mat = np.random.uniform(low=5, high=10)
print(mat)
print(type(mat))# 指定size大小,生成一个三行三列的二维数组,元素个数为3x3=9个
mat = np.random.uniform(low=2, high=10, size=(3, 3))
print(mat)
# 查看默认元素值的类型
print(type(mat[0][0]))mat = np.random.uniform(low=2, high=10, size=(3, 3, 2))
print(mat)
print(type(mat[0][0][0]))

结果为:

总结:以上就是常用的随机数生成函数,具体用哪一个,可根据自己需求,想要生成什么随机数,那就使用什么样的函数。

编写不易,转载请注明出处!

详述numpy中的np.random.rand()、np.random.randn()、np.random.randint()、np.random.uniform()函数的用法相关推荐

  1. Qt中利用QTime类来控制时间,这里简单介绍一下QTime的成员函数的用法:

    QTime::QTime() 默认构造函数,构造一个时,分,秒都为0的时间,如00:00:00.000(午夜) QTime::QTime(int h, int m, int s=0, int ms = ...

  2. np.random.rand()用法

    numpy.random.rand numpy.random.rand(d0, d1, -, dn) Random values in a given shape.(指定类型的) Create an ...

  3. numpy.random.rand使用详解

    http://blog.csdn.net/you_are_my_dream/article/details/53494801 numpy.random.rand numpy.random.rand(d ...

  4. [转载] python numpy.random.randn()与numpy.random.rand()的区别 (正态分布公式)(标准正态分布 standard normal distribution

    参考链接: Python中的numpy.random.randn 引用文章: numpy.random.randn()与numpy.random.rand()的区别 https://www.cnblo ...

  5. numpy.random.rand、numpy.random.randn

    numpy.random.rand(d0,d1,-,dn) 返回一个或一组服从"0~1"均匀分布的随机样本值.随机样本取值范围是[0,1),不包括1 print(np.random ...

  6. Numpy 中的 Ndarray

    numpy概述 Numerical Python,数值的Python,补充了Python语言所欠缺的数值计算能力. Numpy是其它数据分析及机器学习库的底层库. Numpy完全标准C语言实现,运行效 ...

  7. python中trunc函数_Oracle trunc()函数的用法及四舍五入 round函数

    --Oracle trunc()函数的用法 /**************日期********************/ 1.select trunc(sysdate) from dual  --20 ...

  8. python中rand函数是什么意思_科学网-Python中*和**作用及随机数产生函数 np.random.rand()/numpy.random.unifo...-张伟的博文...

    [第一部分] Python中的 * 和 ** ,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的! 一. 打包参数 * 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整 ...

  9. np.random.RandomState、np.random.rand、np.random.random、np.random_sample

    0. np.random.RandomState 计算机实现的随机数生成通常为伪随机数生成器,为了使得具备随机性的代码最终的结果可复现,需要设置相同的种子值: np.random.randn(-) ⇒ ...

最新文章

  1. asio boost 异步错误处理_boost::asio::error的用法浅析
  2. $@ $# $2 $0 $* Linux 参数使用
  3. 单片机c语言 课程设计报告,单片机课程设计心得体会精选
  4. 双网卡同网段静态路由_非常实用的双网卡静态路由配置
  5. 暴风电视刷鸿蒙系统刷机包,暴风电视蓝屏怎么解决
  6. Java直接运行JavaScript代码或js文件
  7. ambari登录页面打不开,报错:postgresql ...... Check that the hostname and port are correct......
  8. linux下c使用lzma_linux lzma软件包下载 ...lzma-sdk.updatestar.com/
  9. 网络攻防技术-Lab5-shellcode编写实验(SEED Labs – Shellcode Development Lab)
  10. opencv------图片转化为视频
  11. XE中FMX操作ListBox,添加上千条记录(含图片)
  12. 【Unity】LineRenderer画运动轨迹
  13. Litjson与JsonUtility读取json文件
  14. Oulipo (KMP算法)
  15. 南昌师范学院同学会05级计算机,返校感言|故事初始,是回归,回到南昌师范学院的TA们,说了这些……...
  16. 如何反编译pyc文件查看源代码
  17. Aspectj some problems
  18. 摩拜单车服务器暂时不可用,摩拜单车出现服务故障怎么回事?摩拜单车服务故障哪些原因造成?[图]...
  19. Class文件结构分析
  20. linux网卡e1000下载,linux安装主板自带网卡e1000 步骤

热门文章

  1. rnnlm源码分析 六
  2. 学嵌入式好还是java好?
  3. python 梦幻西游脚本_python京东抢购脚本打包版下载-京东抢购茅台Python打包版1.0.0简易版下载_骑士下载...
  4. 应用深度学习function-loss-optimization 2020.8.24
  5. 快播王欣:我所失去的一切,都要靠区块链双倍奉还!
  6. 一如职场深似海,怎样避开人际关系的冰山?
  7. vue使用element-ui开发的后台管理系统使用中英文切换多语言国际化方案步骤流程
  8. App Clips 新特性
  9. STC89C52RC定时器的最基本实例
  10. 计算机组装时各配件的安装顺序,如何组装一台电脑 组装一台电脑配件及步骤【详解】...