numpy.random.seed()的作用及应用场景

        在Python学习中,经常会遇到np.random.seed(),那它究竟的作用是什么呢?以下是本人的初略见解:

       在随机数生成过程中,系统并不是按照我们以为的“随机”来生成随机数,而是按照某种特定算法生成随机数。所以,生成过程就是有规律可言。

       在我查看了多篇博客后,我总结出来的规律就是:np.random.seed()函数只是规定了将要生成的随机数的输出值,而就是因为了此初始值。在接下来的生成随机数过程中,因为随机数的生成是有规律的,所有在规定了初始值后,接下来的生成过程也是有规律的(是由某种算法所生成)。以下代码是我做的测试: 

import numpy as np

np.random.seed(1)
i = 0
while(i<5):
    print(np.random.rand(1))
    i+=1

np.random.seed(1)
i = 0
while(i<5):
    print(np.random.rand(1))
    i+=1

np.random.seed(0)
i = 0
while(i<5):
    print(np.random.rand(1))
    i+=1

 以下是我的输出结果:

[0.417022]
[0.72032449]
[0.00011437]
[0.30233257]
[0.14675589]
[0.417022]
[0.72032449]
[0.00011437]
[0.30233257]
[0.14675589]
[0.99192638]
[0.78324486]
[0.5358388]
[0.53565]
[0.00010868]

可以看到,第一组结果与第二组结果完全相同。因为他们的seed函数的传入值相同,根据算法生成随机数导致一二组在接下的生成过程中也生成相同的随机数。第三组的传入参数不同,所以第三组的所有数组不前两组不同。

当然,如果不对seed函数传入参数,那么系统将随机生成随机数。

那么np.random.seed()的作用是啥,有什么用途? 例如,在你编写某些代码教程的时候,你可以设置初值,可以使得读者与你的结果相同。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值