1. numpy.random.rand(d0,d1,d2,...)
d0,d1,d2 即生成的array 的维数, 其元素是基于[0,1)的均匀分布
>>> import numpy as np
>>> np.random.rand(2)
array([ 0.1767244 , 0.48286388])
>>> np.random.rand(3,2)
array([[ 0.29857113, 0.38777332],
[ 0.0523596 , 0.89786821],
[ 0.36952325, 0.61772361]])
2. numpy.random.randn(d0,d1,d2,...)
生成的array 元素是基于均值为0,方差是1 的标准正太分布 , 若是 (μ, σ**2), 则可以表示为:
σ * numpy.random.randn(d0,d1,..)+
μ
>>> import numpy as np
>>> np.random.randn()
0.3988882823736295
>>> 2.5 * np.random.randn(2,4)+3
array([[ 0.01079296, -2.98224832, 1.27822089, 4.86307742],
[ 2.53246081, 1.4376604 , 4.00155875, 5.8419745 ]])
3. numpy.random.randint(low, high=None, size=None, dtype='l')
返回随机整数,基于[low, high)的离散均匀分布, 大小是size 即维数和个数,若high 没有赋值,则默认是[0, low)
>>> import numpy as np
>>> np.random.randint(2, size=10)
array([1, 0, 1, 1, 1, 1, 0, 1, 1, 1])
>>> np.random.randint(5, size=(2,4))
array([[3, 1, 0, 1],
[0, 0, 2, 2]])
4. numpy.random.random_integers(low, high=None, size=None)
返回的整数在[low, high],全闭区间,若high 略去,则[1, low]
>>> import numpy as np
>>> np.random.random_integers(5)
3
>>> np.random.random_integers(5, size=(3,2))
array([[2, 2],
[3, 1],
[4, 3]])
# 生成 [0,2.5]之间的5个随机数
>>> 2.5 * (np.random.random_integers(5, size=(5,))-1)/4
array([ 1.25 , 0. , 1.875, 2.5 , 0. ])
5. numpy.random.random_sample(size=None)
返回随机的浮点数介于[0.0, 1.0),半开区间, 连续分布
>>> import numpy as np
>>> np.random.random_sample()
0.18680050911056523
>>> np.random.random_sample((5,))
array([ 0.18500924, 0.71237181, 0.49690354, 0.29570659, 0.35099283])
>>> 5*np.random.random_sample((3,2)) - 5
array([[-4.71657377, -3.47797866],
[-4.14982114, -1.66394337],
[-0.96794969, -2.88891439]])