首页 > 其他分享 >np.random.seed(0)有什么用?

np.random.seed(0)有什么用?

时间:2023-03-07 12:45:43浏览次数:49  
标签:random 每次 seed 种子 随机数 np numpy

np.random.seed(0)使随机数可预测

>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55,  0.72,  0.6 ,  0.54])
>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55,  0.72,  0.6 ,  0.54])

随着种子重置(每次),每次都会出现相同的一组数字。

如果未重置随机种子,则每次调用都会出现不同的数字:

>>> numpy.random.rand(4)
array([ 0.42,  0.65,  0.44,  0.89])
>>> numpy.random.rand(4)
array([ 0.96,  0.38,  0.79,  0.53])

(伪)随机数的工作原理是从一个数字(种子)开始,将它乘以一个大数,加上一个偏移量,然后对该总和取模。然后将生成的数字用作生成下一个“随机”数字的种子。当你设置种子时(每次),它每次都会做同样的事情,给你相同的数字。

如果您想要看似随机的数字,请不要设置种子。但是,如果您有使用要调试的随机数的代码,那么在每次运行之前设置种子会非常有帮助,这样代码在每次运行时都执行相同的操作。

要为每次运行获得最多的随机数,请调用numpy.random.seed()。 将导致 numpy 将种子设置为从/dev/urandom或其 Windows 模拟获得的随机数,或者,如果这些都不可用,它将使用时钟。

有关使用种子生成伪随机数的更多信息,请参阅维基百科

原文:https://stackoverflow.com/questions/21494489/what-does-numpy-random-seed0-do

标签:random,每次,seed,种子,随机数,np,numpy
From: https://www.cnblogs.com/yuyanc/p/17187652.html

相关文章