np.random.randn()、np.random.rand()和np.random.randint()函数解析

版权声明:本文版权归作者和CSDN共有,欢迎转载。转载时请注明原作者并保留此段声明,若不保留我也不咬你,随你了=-=。 https://blog.csdn.net/TeFuirnever/article/details/88952409

最近看吴恩达深度学习作业代码时经常能看到numpy函数,np.random.randn()、np.random.rand()和np.random.randint(),特此记录。

1、np.random.randn()

np.random.randn()函数用于从“标准正态”分布中返回一个样本(或多个样本)。

np.random.randn(d0,
	d1,
	d2,
	……
	dn
) 

参数:

d0,d1,…,dn : int,可选。

如果正数,提供 int_like or int-convertible参数,randn函数将会产生一个形状为(d0, d1, …, dn)的数组,充满标准高斯正态分布(均值0,方差1)中随机浮点数样本,(如果di是浮点数类型,他们会先通过截断的方式转换成正数);如果没有提供参数,randn函数会从分布中随机抽样一个单float。

np.random.standard_normal()函数与np.random.randn()类似,但是np.random.standard_normal()的输入参数为元组(tuple)。

例子1:

import numpy as np

np.random.randn()
> -0.8877857476301128

例子2:

对于随机样本N(\ mu,\ sigma ^ 2),请使用:

s i g m a n p . r a n d o m . r a n d n ( . . . ) + m u sigma * np.random.randn(...) + mu

import numpy as np

2.5 * np.random.randn(2, 4) + 3
> array([[-1.95199117,  2.13021963,  3.39087242,  6.0757267 ],
         [ 6.00594962,  2.03168296,  2.24424312,  0.37861759]])

2、np.random.rand()

np.random.rand()函数用于给定形状的随机值。

np.random.randn(d0,
	d1,
	d2,
	……
	dn
) 

参数:

d0,d1,…,dn : int,可选。

创建给定形状的数组,并使用来自均匀分布的随机样本填充它。[0, 1)

例子:

import numpy as np

np.random.rand(3,2)
> array([[0.57019677, 0.43860151],
         [0.98837384, 0.10204481],
         [0.20887676, 0.16130952]])

3、np.random.randint()

np.random.randint()函数用于从低(包含)返回到高(不包括)返回随机整数。

numpy.random.randint(low,
	high=None,
	size=None,
	dtype='l'
) 

参数:

  • low:要从分布中提取的最小(带符号)整数(除非high=None,在这种情况下,此参数高于此类整数的最大值,也就是默认生成随机数的范围是[0,low))。

  • high:如果提供,则在要从分布中提取一个在最大(带符号)整数之上的整数(如果high=None,请参见上面的行为)。也就是左闭右开,[low,high)。

  • size:输出的形状。如果给定形状为(m, n, k),则绘制m * n * k个样本。默认值为None,在这种情况下返回一个值。

  • dtype:期望结果的类型。所有的类型都由它们的名称决定,即’ int64 ‘,’ int ‘等,因此byteorder是不可用的,根据平台的不同,一个特定的精度可能有不同的C类型。默认值是’ np.int '。

例子1:

import numpy as np

print(np.random.randint(2, size=10))
print(np.random.randint(1, size=10))
> [0 0 0 0 1 0 1 0 1 1]
> [0 0 0 0 0 0 0 0 0 0]

例子2:

import numpy as np

np.random.randint(5, size=(2, 4))
> array([[0, 1, 2, 4],
         [2, 0, 3, 2]])

猜你喜欢

转载自blog.csdn.net/TeFuirnever/article/details/88952409