python中我们常会用到numpy.random.seed()函数。
其基本用法或作用网上很多人都写过:
seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同
这句话大概就描述清楚了,不过我一开始还是死活不知道seed()括号中的参数该如何设置,不甚理解。最近才明白。
举个例子说明:
把seed()中的参数比喻成“堆”,eg. seed(5):表示第5堆种子
注意:从每堆种子里选出来的数都是不会变的,从不同的堆里选随机种子每次都不一样
import numpy as np
np.random.seed(1)
a = np.random.random()
print(a)
a
0.417022004702574
np.random.seed(2)
a= np.random.random()
a
0.83599490214200376
两次输出的 a 是不一样的,那如果我在某一块程序想要a=0.417022004702574时,该怎么办?那此时我们还需要再申明一次seed(1)
np.random.seed(1)
a = np.random.random()
print(a)
a
0.417022004702574
同理,但若想让a=0.83599490214200376,则须声明np.random.seed(2)。
(参数可以任意设置,只要前后所用参数一样,就可以取到一样的随机数)