随机数种子np.random.seed(0)作用

设置随机数种子np.random.seed(0)后,会基于该种子产生一系列固定的‘随机’数序列。每次调用np.random.seed(0)并生成随机数,都会按照同一顺序得到相同的结果,这是因为它们是基于确定性的算法生成的伪随机数。这种机制在需要可重复性实验或测试时非常有用。

关于随机数种子np.random.seed(0),如何理解,先以如下代码为例:

import numpy as np
np.random.seed(0)  # 先定义一个随机数种子;参数0是随便取的,可以认为是初值的标志
print(np.random.rand(5))  # "随机"生成5个数
print(np.random.rand(5))  # 再"随机"生成5个数
 
np.random.seed(0)
for i in range(6):
    print(np.random.random())  # "随机"生成6个数

输出结果:

[0.5488135  0.71518937 0.60276338 0.54488318 0.4236548 ]
[0.64589411 0.43758721 0.891773   0.96366276 0.38344152]
0.5488135039273248
0.7151893663724195
0.6027633760716439
0.5448831829968969
0.4236547993389047
0.6458941130666561

可以看到:最后输出的6个随机数是依次从之前生成的10个随机数中取得的! 也就是说在代码中,我们看到 “ 随机 ” ,并不是真正随机(假随机)。

  • 随机数种子相当于给我们一个初值,之后按照固定顺序生成随机数(也就是我们说的超级长的 list )
  • 随机数种子对后面的结果一直有影响,在一个随机数种子后生成的随机数都受这个随机数种子的影响,即生成的随机数都是由这个随机数种子给的初值,按照固定顺序生成的。
  • 每次使用之前都需要调用一下:np.random.seed(0)
  • np.random.seed(0)中参数0是随便取的,可以认为是初值的标志,每次按照这个标志都可以得到相同的初值。

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值