Numpy np.random.seed(number)`中括号中的数字是什么意思?

Numpy np.random.seed(number)`中括号中的数字是什么意思?,numpy,Numpy,np.random.seed(0),np.random.seed(42),和np.random.seed(…任何数字)之间有什么区别。括号中数字的功能是什么?这将是发电机的启动键。通常,如果您希望获得可复制的结果,您将在整个模拟过程中反复使用相同的种子 您正在设置随机数生成器的种子,以便获得可复制的结果。例如 np.random.seed(0) np.random.randint(0,100,10) 输出: array([44, 47, 64, 67, 67, 9, 83, 21, 36,

np.random.seed(0)
np.random.seed(42)
,和
np.random.seed(…任何数字)
之间有什么区别。括号中数字的功能是什么?

这将是发电机的启动键。通常,如果您希望获得可复制的结果,您将在整个模拟过程中反复使用相同的种子

您正在设置随机数生成器的种子,以便获得可复制的结果。例如

np.random.seed(0)
np.random.randint(0,100,10)
输出:

array([44, 47, 64, 67, 67,  9, 83, 21, 36, 87])

现在,如果您在计算机上运行相同的代码,您应该从0到100的随机整数中获得相同的10个数字输出。

python
使用迭代算法生成。这就是我们开始迭代的地方

需要明确的是,大多数计算机没有“真正”的随机性来源。有趣的是,“随机性”对很多应用程序来说都很有价值,而且很难获得(你可以买一台专门用于此目的的机器)。由于很难生成随机数,但它们仍然是必需的,因此已经开发了许多、许多、许多、许多算法来生成非随机数,但看起来似乎是随机数。生成数字的算法称为伪随机数生成器(PRNG)。由于PRNG实际上是确定性的,它们不能简单地从乙醚中创建一个数字,让它看起来随机。他们需要投入。事实证明,使用一些复杂的运算和模运算,我们可以接受一个输入,得到另一个似乎与输入关系不大或没有关系的数字。利用这种直觉,我们可以简单地使用PRNG的前一个输出作为下一个输入。然后,我们得到一个数字序列,如果我们的PRNG是好的,那么它们似乎彼此没有关系

为了开始我们的迭代PRNG,我们需要一个初始输入。这个初始输入称为“种子”。由于PRNG是确定性的,对于给定的种子,它将生成相同的数字序列。通常,有一个默认种子,它本身有点随机性。最常见的是当前时间。但是,当前时间不是一个很好的随机数,因此这种行为有时是已知的。如果希望程序在每次运行时都以相同的方式运行,可以提供种子(0是一个常用选项,但完全是任意的)。然后,你会得到一系列随机数,但如果你把代码交给某人,他们实际上可以完全重新创建程序的运行时,就像你运行程序时看到的那样。

可能的重复