seed( ) 用于指定随机数生成时所用算法开始的整数值。
1.括号内数字为标识符,如果使用相同的标识,则每次生成的随即数都相同;我理解的是每一个标识对应一组固定的随机数,使用seed()后,random从这组随机数中按顺序取数;
2.如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
3.设置的seed()值仅一次有效
测试代码如下:
In [1]: import numpy as np np.random.seed(0)#括号内数字为标识 np.random.random(5) Out[1]: array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])
In [2]: #seed()仅对下一次随机数生成有效 np.random.random(5) Out[2]: array([0.64589411, 0.43758721, 0.891773 , 0.96366276, 0.38344152])
In [3]: np.random.seed(0) np.random.random(5) Out[3]: array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ])
In [4]: np.random.seed(0) np.random.random(7) Out[4]: array([0.5488135 , 0.71518937, 0.60276338, 0.54488318, 0.4236548 ,0.64589411, 0.43758721])
In [5]: np.random.seed(10) np.random.random(5) Out[5]: array([0.77132064, 0.02075195, 0.63364823, 0.74880388, 0.49850701])