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

这篇具有很好参考价值的文章主要介绍了详述numpy中的np.random.rand()、np.random.randn()、np.random.randint()、np.random.uniform()函数的用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    目录

 (一)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输出,可对应程序看结果。

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

(二)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))

结果为:

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

 (三)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]))

结果为:

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

 (四)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()函数的用法

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

编写不易,转载请注明出处!文章来源地址https://www.toymoban.com/news/detail-403700.html

到了这里,关于详述numpy中的np.random.rand()、np.random.randn()、np.random.randint()、np.random.uniform()函数的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • numpy抽样函数 np.random.choice用法详解

    顾名思义,抽样函数,定义如下: 参数说明: a :待抽样的样本(一维数组或整数) size: 输出大小,默认返回单个元素 replace : 抽样后的元素是否可重复,默认是 p: 每个样本点被抽样的概率,默认均匀抽样 举例如下: 从[1,2,3,4,5]中随机抽三个元素,可重复,概率分别为[0.1,

    2024年02月15日
    浏览(45)
  • Python,Numpy中随机抽样的函数 np.random.choice()详解

    np.random.choice() 是NumPy库中的一个函数,用于从给定的一维数组或可迭代对象中随机抽样。这个函数具有以下参数和功能: 参数 a :表示从中抽取随机样本的数组或整数。如果 a 是一个整数,则抽样将从 np.arange(a) 中进行。 size :输出样本的大小。默认情况下,返回单个值。你

    2024年02月06日
    浏览(48)
  • 深入浅出PyTorch函数torch.rand与torch.randn

    torch.rand 和 torch.randn 都是PyTorch中用于生成随机张量的函数,但它们生成随机数的方式有所不同。 torch.rand 生成在区间 [0, 1) 内均匀分布的随机数。 size 参数是一个表示所需张量形状的元组或整数。可以生成任何形状的随机张量。 torch.randn 生成从标准正态分布(均值为0,标准

    2024年02月09日
    浏览(50)
  • Python random randint() 方法

    Python random randint() 方法 Python random 模块 Python random 模块 Python random.randint() 方法返回指定范围内的整数。 randint(start, stop) 等价于 randrange(start, stop+1)。 语法 random.randint() 方法语法如下: random.randint(start, stop) 参数说明: 返回值 返回指定范围内的整数。 实例 以下实例返回一个

    2024年04月12日
    浏览(36)
  • random.uniform()详解

    函数原型: numpy.random.uniform(low,high,size) 功能:从一个 均匀分布[low,high)中随机采样 ,注意定义域是 左闭右开 ,即包含low,不包含high. 参数解释: shape: 张量形状 minval: 随机值范围下限,默认0 maxval:   随机值范围上限(若薇浮点数,则默认为1) dtype:   输出的类型:float

    2024年02月15日
    浏览(35)
  • 深入浅出TensorFlow2函数——tf.random.uniform

    分类目录:《深入浅出TensorFlow2函数》总目录 绘制 shape 个来自每个给定均匀分布的样本。 语法 参数 shape :输出张量的形状,为一个一维整数张量或Python数组。 minval :要生成的随机值范围的下限(含),默认值为 0 。 minval :要生成的随机值范围的上限(不含),默认值为 1 。

    2024年02月11日
    浏览(33)
  • np.random.normal

    np.random.normal函数是numpy库中用于生成正态分布(也叫高斯分布)随机数的函数。 normal------正态 np.random.normal(loc=0.0, scale=1.0, size=None) 该函数有三个参数:loc, scale, size loc表示随机数的期望值(对应着整个分布的中心)。float ,loc=0说明这一个以Y轴为对称轴的正态分布 scale表示随机数

    2024年02月06日
    浏览(41)
  • np.random.shuffle()+random.seed()设定随机种子,多次打乱,打乱规则固定

    在打乱数据集的时候遇到了这样一个问题:我有两组数据集,一组是image,一组是mask(语义分割任务,与本文无关),image和mask里都是图片,且一一对应,即 image里的第一张图片对应mask里的第一张图片 ,不能乱,因此打乱数据集的时候要对image和mask 以同样的顺序打乱 。 比

    2024年02月04日
    浏览(45)
  • numpy np.savetxt()的使用

    前言 使用numpy将数据保存为txt文件,并且保留所需要的位数 X : 要保存的数据 fmt :  保留的有效数字位数 delimiter : 每列的填充字符 代码如下(示例):       输出为科学计数法: 如果要每列保存不同的格式怎么办?比如像下面这样  前三列要保留小数点后4位小数  后三列保

    2024年02月11日
    浏览(40)
  • np.sin( )函数 (Numpy库)

    np.sin(a)函数:对a中元素取正弦值。a可以是ndarray数据也可以是单个数据。 当a是单个数据时,np.sin(a)返回一个数据。 当a是ndarray数据时,np.sin(a)返回一个ndarray。 在上文中的np.pi表示π,但是它不可能那么精确真的是π,因此sin(np.pi)计算机计算出来不是准确的零,而是无限接近于

    2024年02月16日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包