numpy.random.RandomState作用类似seed,都是一种如果预先定义好随机状态后,生成随机数的在下一次调用相同的numpy.random.RandomState的时候,得到与原来一模一样的随机。
import numpy as np
a = np.random.RandomState(1)
for i in range(4):
b = np.random.RandomState(2)
print('b=',b)
print('a=',a)
b= [[-0.41675785 -0.05626683 -2.1361961 1.64027081 -1.79343559]]
a= [[ 1.62434536 -0.61175641 -0.52817175 -1.07296862 0.86540763]]
b= [[-0.41675785 -0.05626683 -2.1361961 1.64027081 -1.79343559]]
a=[[-2.3015387 1.74481176 -0.7612069 0.3190391 -0.24937038]]
b= [[-0.41675785 -0.05626683 -2.1361961 1.64027081 -1.79343559]]
a=[[ 1.46210794 -2.06014071 -0.3224172 -0.38405435 1.13376944]]
b= [[-0.41675785 -0.05626683 -2.1361961 1.64027081 -1.79343559]]
a=[[-1.09989127 -0.17242821 -0.87785842 0.04221375 0.58281521]]
对于b来说每次都是调用相同的随机状态,因此得到的随机数是相同的,而对于a来说,仅仅第一次调用时使用的np.random.RandomState(1)状态,后面则使用默认的随机状态,因此每次的随机数字也不近相同。