关于Python的seed()函数的理解

本文解释了np.random.seed()的作用,它在确保程序随机数生成的可重复性和一致性方面的重要性。通过设定种子,可以重现特定随机过程,常用于验证和代码复现。作者以游戏世界线比喻,阐述了如何通过seed参数控制随机数序列的生成过程。
摘要由CSDN通过智能技术生成

np.random.seed()理解

就作用来说
此方法产生的是随机数堆(也就是他们所说的随机数种子),seed参数有没有都可以。

为什么要指定seed参数呢?

如果你想验证你的python程序是否和网上或者别人的重现的一致的话,(根据控制变量法/狗头)最好是参数一致,所以就需要指定seed参数来确保你的随机数和他的随机数相同。

通俗来说,比如生成随机数是一个大型游戏,那么seed的选择就是选择游戏的一条世界线,在选择一个参数后,所成生成的所有的随机数都不是真正的“随机”了,在某种意义来说,之后生成的一组随机数变成了一组参数

当然,为什么拿大型游戏举例?

比如说A选择了这条世界线,B也选择了这条世界线,A和B所经历的剧情…等等是一样的,这也和seed参数原理相同,A使用了seed(1),B也使用了seed(1),他们都先取了10个随机数,他们的随机数也是相同的。。

and
我所理解的随机数种子,其实就是一组随机数序列,随机数序列
图画的优点丑。。多包涵(●’◡’●)

np.random.seed(2)
x =  np.random.randn(1,10)

经过上述操作,他会拿出当前随机数种子中的前十个值,如果再来一波

x =  np.random.randn(1,10)

则会拿出种子中 11-20 十个值,如果还想拿前十个,需要再指定一遍seed(2),意思就是把这条时间线重置了。好汉,咱们重新来过~

np.random.seed(2)
x =  np.random.randn(1,10)
np.random.seed(2)
x =  np.random.randn(1,10)

就是这样~
希望我把我的理解说明白了

*note:这种理解思想是前几天翻博客,有个大佬的评论启发了我,在这里感谢一下~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值