我正在使用numpy.random.randn
和numpy.random.rand
生成随机数。我对混乱的区别random.randn
和random.rand
?
两者之间的主要区别在中提到docs
。链接到Doc rand和Doc randn
对于numpy.rand
,您将获得从0-1内的均匀分布生成的随机值
但是,numpy.randn
您将获得从正态分布生成的随机值,均值为0,方差为1。
只是一个小例子。
>>> import numpy as np
>>> np.random.rand(10)
array([ 0.63067838, 0.61371053, 0.62025104, 0.42751699, 0.22862483,
0.75287427, 0.90339087, 0.06643259, 0.17352284, 0.58213108])
>>> np.random.randn(10)
array([ 0.19972981, -0.35193746, -0.62164336, 2.22596365, 0.88984545,
-0.28463902, 1.00123501, 1.76429108, -2.5511792 , 0.09671888])
>>>
如您所见,这rand
给了我0-1的值,
而randn
给我值mean == 0
和variance == 1
为了进一步解释,让我生成足够大的样本:
>>> a = np.random.rand(100)
>>> b = np.random.randn(100)
>>> np.mean(a)
0.50570149531258946
>>> np.mean(b)
-0.010864958465191673
>>>
您会看到的平均值a
接近0.50
,是使用生成的rand
。b
另一方面,的平均值接近0.0
,是使用randn
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句