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,则每次会生成不同的随机数。