NumPy随机种子产生不同的随机数

pulkitag

我运行以下代码:

 np.random.RandomState(3)
 idx1 = np.random.choice(range(20),(5,))
 idx2 = np.random.choice(range(20),(5,))  
 np.random.RandomState(3)
 idx1S = np.random.choice(range(20),(5,))
 idx2S = np.random.choice(range(20),(5,))       

我得到的输出如下:

idx1:  array([ 2, 19, 19,  9,  4])  
idx1S: array([ 2, 19, 19,  9,  4])  

idx2:  array([ 9,  2,  7, 10,  6]) 
idx2S: array([ 5, 16,  9, 11, 15]) 

idx1和idx1S匹配,但idx2和idx2S不匹配。我希望一旦给随机数生成器设定种子并重复相同的命令序列,它就会产生相同的随机数序列。这不是真的吗 还是我还缺少其他东西?

帝斯曼

你混淆RandomState使用seed第一行构造了一个对象,您可以将其用作随机源。例如,我们使

>>> rnd = np.random.RandomState(3)
>>> rnd
<mtrand.RandomState object at 0xb17e18cc>

接着

>>> rnd.choice(range(20), (5,))
array([10,  3,  8,  0, 19])
>>> rnd.choice(range(20), (5,))
array([10, 11,  9, 10,  6])
>>> rnd = np.random.RandomState(3)
>>> rnd.choice(range(20), (5,))
array([10,  3,  8,  0, 19])
>>> rnd.choice(range(20), (5,))
array([10, 11,  9, 10,  6])

[我不明白为什么你idx1idx1S同意-但你实际上并没有发布一个自包含的成绩单,所以我怀疑用户错误。]

如果要影响全局状态,请使用seed

>>> np.random.seed(3)
>>> np.random.choice(range(20),(5,))
array([10,  3,  8,  0, 19])
>>> np.random.choice(range(20),(5,))
array([10, 11,  9, 10,  6])
>>> np.random.seed(3)
>>> np.random.choice(range(20),(5,))
array([10,  3,  8,  0, 19])
>>> np.random.choice(range(20),(5,))
array([10, 11,  9, 10,  6])

RandomState起初,使用特定对象似乎不太方便,但是当您需要调整不同的熵流时,使用它会使很多事情变得容易。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为随机数生成随机种子

来自分类Dev

如何创建随机种子以在每次 simevents 运行时产生不同的结果???(随机种子?)

来自分类Dev

在julia随机数生成器中设置随机种子

来自分类Dev

尽管使用了随机种子,但随机数保持不变

来自分类Dev

尽管使用了随机种子,但随机数保持不变

来自分类Dev

产生随机数

来自分类Dev

openMP使用相同的种子生成不同的随机数

来自分类Dev

使随机数不同

来自分类Dev

64位随机种子

来自分类Dev

如何创建随机种子

来自分类Dev

选择随机种子并保存

来自分类Dev

选择随机种子并保存

来自分类Dev

产生真实的随机数

来自分类Dev

无法产生随机数

来自分类Dev

产生随机数的div

来自分类Dev

产生例外的随机数

来自分类Dev

OpenCV随机森林:设置随机种子

来自分类Dev

来自文本种子的随机数

来自分类Dev

带种子的随机数生成

来自分类Dev

种子在随机数生成中的作用

来自分类Dev

带种子的随机数生成

来自分类Dev

将种子添加到C#随机数始终会产生相同的结果

来自分类Dev

如何使用Rust中的rand箱输入整数种子以产生随机数?

来自分类Dev

当随机数生成器被植入种子后,rand()确实会产生一个随机值吗?

来自分类Dev

SAS 不同的随机数

来自分类Dev

随机种子之间的区别重要吗?

来自分类Dev

Sympy重新配置随机种子

来自分类Dev

在Python中生成随机种子

来自分类Dev

在Rmallet中使用随机种子