关于numpy.random.seed()的参数说明

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)。
(参数可以任意设置,只要前后所用参数一样,就可以取到一样的随机数)


版权声明:本文为econe_wei原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。