RandomState是numpy库中的一个函数,在调用的过程中要设置随机种子seed。其中seed的值会影响得到的值的效果,如果是seed相同的情况下得到的值是相同的。同时RandomState方法可以完全的取代numpy.random.seed()方法,下面开始用实例展示RandomState的使用
import numpy as np
for i in range(2):
rand = np.random.RandomState(10)
arrayA = rand.uniform(0, 1, (2, 3)) #生成两行三列的矩阵同时矩阵的值在[0,1]范围之内
print arrayA
print "-------------------"
for i in range(2):
rand = np.random.RandomState(10 + i)
arrayA = rand.uniform(0, 1, (2, 3))
print arrayA
np.random.seed()
结果:
[[ 0.77132064 0.02075195 0.63364823]
[ 0.74880388 0.49850701 0.22479665]]
[[ 0.77132064 0.02075195 0.63364823]
[ 0.74880388 0.49850701 0.22479665]]
-------------------
[[ 0.77132064 0.02075195 0.63364823]
[ 0.74880388 0.49850701 0.22479665]]
[[ 0.18026969 0.01947524 0.46321853]
[ 0.72493393 0.4202036 0.4854271 ]]
实验结果显示当RandomState中的seed值相同时得到的矩阵值也相同。可以通过设置不同的seed值实现得到不同的矩阵值。