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