np.random模块

nump.random.RandomState

uniform(low=0.0, high=1.0, size=None)
low : float or array_like of floats, optional
size : int or tuple of ints, optional
返回值: ndarray or scalar
从一个均匀分布( [low, high):半开区间)中进行采样

np.random.uniform(1,2,(2,2))
[[1.62329443 1.38730153]
 [1.90290111 1.90773506]]
<class 'numpy.ndarray'>

np.random.uniform(1,2)
1.8948932223669779
<class 'float'>

np.random.rand: a convenience function for np.random.uniform(0, 1)
创建给定形状的数组,并用来自在[0,1)区间的均匀分布的随机样本填充它

 np.random.rand(3,2)
    array([[ 0.14022471,  0.96360618],  #random
           [ 0.37601032,  0.25528411],  #random
           [ 0.49313049,  0.94909878]])

numpy.random.randn(d0, d1, …, dn)
d0, d1, …, dn : int, optional
返回值:ndarray or float
从标准正态分布 N(0,1) 中返回对应的数组或浮点数
如要从这里写图片描述返回对应的数组或浮点数,
应这样写sigma * np.random.randn(…) + mu

这里写图片描述
标准正态分布曲线下面积分布规律是:
在-1.96~+1.96范围内曲线下的面积等于0.9500(即取值在这个范围的概率为95%),在-2.58~+2.58范围内曲线下面积为0.9900(即取值在这个范围的概率为99%).
因此,由 np.random.randn()函数所产生的随机样本基本上取值主要在-1.96~+1.96之间,当然也不排除存在较大值的情形,只是概率较小而已。

np.random.randn()
2.1923875335537315 
np.random.randn(2,3)
array([[ 2.70467482  1.56520692 -0.94020936]
       [ 0.37279013  0.52813483 -2.38238942]])

从N(3, 6.25)正态分布中取值
2.5 * np.random.randn() + 3
2.5830743542241477
2.5 * np.random.randn(2, 4) + 3
array([[-4.49401501,  4.00950034, -1.81814867,  7.29718677], 
       [ 0.39924804,  4.68456316,  4.99394529,  4.84057254]]) 

猜你喜欢

转载自blog.csdn.net/qq_29232389/article/details/82353289