numpy.random.seed()的使用

seed()的含义:

seed()用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed()值,则每次生成的随机数都相同,如果
不设置这个值,则系统则根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

理解:
当我们设置相同的seed,每次生成的随机数相同。
如果不设置seed,则每次会生成不同的随机数。

numpy.random.seed(0) ; numpy.random.rand(4)  
array([ 0.55,  0.72,  0.6 ,  0.54])  

numpy.random.seed(0) ; numpy.random.rand(4)  
array([ 0.55,  0.72,  0.6 ,  0.54])  
>>> numpy.random.rand(4)  
array([ 0.42,  0.65,  0.44,  0.89]) 

>>> numpy.random.rand(4)  
array([ 0.96,  0.38,  0.79,  0.53])  

一点思考:
第一份code
输入

from numpy import *    ##这个和import numpy 是一样的
num=0
while(num<5):
    random.seed(5)
    print(random.random())
    num+=1

输出

0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948

发现每次输出的数是一样的
第二份code
输入

from numpy import *    
num=0
random.seed(5)
while(num<5):
    print(random.random())
    num+=1

输出

0.22199317108973948
0.8707323061773764
0.20671915533942642
0.9186109079379216
0.48841118879482914

发现每次输出的数不同,但第一次输出和上面相同,在例2中,因为seed(5)并没有放到While循环中去,故只执行了一次,故第二次输出的第一个值和上面是一样的,后面的并没有执行到seed(5),故生成的值是不同的。

总结


当我们设置相同的seed,每次生成的随机数相同。
如果不设置seed,则每次会生成不同的随机数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值