numpy.random.seed()

本文通过实例解释了在Python中使用numpy库时,如何通过设置随机种子seed来控制随机数生成的可重复性。设定相同的seed值,即使在不同运行环境下也能获得相同的随机数序列,这对于实验复现和调试非常重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把设定seed比喻成选择容器应该好理解一点。

设置seed()里的数字就相当于设置了一个装有随机数的容器,数字代表容器的标号,当我们在seed()的括号里设置相同的seed,就相当于指定了统一个容器,那当然每次取出的随机数就会相同(并不是从里面随机取数字,只要设置的seed相同取出地随机数就一样)。如果不设置seed,则每次会生成不同的随机数。seed括号里的数值基本可以随便设置,设定一个之后,里面会生成一个固定的随机数序列,之后只要seed()里面设定值一样,之后取出的随机数就是一样的。


>>> import numpy as np
>>> np.random.seed(1)  #设定一个随机种子seed(1)
>>> a = np.random.random(5) #获取长度为5的随机数序列
>>> a
array([4.17022005e-01, 7.20324493e-01, 1.14374817e-04, 3.02332573e-01,
       1.46755891e-01])
>>> np.random.seed(1) #设定随机种子seed(1),为刚才的那一个
>>> b = np.random.random(3) #获取长度为3的随机数序列
>>> b
array([4.17022005e-01, 7.20324493e-01, 1.14374817e-04])  
##可以看到,只要seed值设置一样,取出的随机序列是一样的,只是长度不一样

>>> np.random.seed(2) #设定新的随机种子seed(2)
>>> b = np.random.random(4) #获取长度为4的随机数序列
>>> b
array([0.4359949 , 0.02592623, 0.54966248, 0.43532239]) ##就得到于刚才不一样的结果
#继续取随机数
>>> c = np.random.random(4) ##此时已经不再是属于seed(2)的范畴,取得的数是随机的
>>> c
array([0.4203678 , 0.33033482, 0.20464863, 0.61927097])

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值