np.random.seed()函数解析

版权声明:本文版权归作者和CSDN共有,欢迎转载。转载时请注明原作者并保留此段声明,若不保留我也不咬你,随你了=-=。 https://blog.csdn.net/TeFuirnever/article/details/88943883

np.random.seed()函数用于生成指定随机数。

np.random.seed(
	n
) 

所以seed总是跟random搭配使用。

设置seed()之后,np,random.random()按顺序产生一组固定的数组,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,那么每次生成的随机数不同。

例子1:

import numpy as np

np.random.seed(0)
x = np.random.randn(3,3)
y = np.random.randn(3,3)
print(x)
print(y)
> [[ 1.76405235  0.40015721  0.97873798]
   [ 2.2408932   1.86755799 -0.97727788]
   [ 0.95008842 -0.15135721 -0.10321885]]
> [[ 0.4105985   0.14404357  1.45427351]
   [ 0.76103773  0.12167502  0.44386323]
   [ 0.33367433  1.49407907 -0.20515826]]

只在调用的时候seed()一下并不能使生成的随机数相同,需要每次调用都seed()一下,表示种子相同,从而生成的随机数相同。

import numpy as np

np.random.seed(0)
x = np.random.randn(3,3)
np.random.seed(0)
y = np.random.randn(3,3)
print(x)
print(y)
> [[ 1.76405235  0.40015721  0.97873798]
   [ 2.2408932   1.86755799 -0.97727788]
   [ 0.95008842 -0.15135721 -0.10321885]]
> [[ 1.76405235  0.40015721  0.97873798]
   [ 2.2408932   1.86755799 -0.97727788]
   [ 0.95008842 -0.15135721 -0.10321885]]

例子2:

import numpy as np

x1 = np.random.randn(3,3)
x2 = np.random.randn(3,3)
np.random.seed(0)
y1 = np.random.randn(3,3)
np.random.seed(0)
y2 = np.random.randn(3,3)
print(x1)
print(x2)
print(y1)
print(y2)
> [[ 0.4105985   0.14404357  1.45427351]
   [ 0.76103773  0.12167502  0.44386323]
   [ 0.33367433  1.49407907 -0.20515826]]
> [[ 0.3130677  -0.85409574 -2.55298982]
   [ 0.6536186   0.8644362  -0.74216502]
   [ 2.26975462 -1.45436567  0.04575852]]
> [[ 1.76405235  0.40015721  0.97873798]
   [ 2.2408932   1.86755799 -0.97727788]
   [ 0.95008842 -0.15135721 -0.10321885]]
> [[ 1.76405235  0.40015721  0.97873798]
   [ 2.2408932   1.86755799 -0.97727788]
   [ 0.95008842 -0.15135721 -0.10321885]]

如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,那么每次生成的随机数不同。

目前看到的文章说明的都是参数n指定了一个随机数生成的起始位置。每个参数对应一个位置。并且在该参数确定后,其后面的随机数的生成顺序也就确定了。

参考文章:

怎么理解np.random.seed()?

猜你喜欢

转载自blog.csdn.net/TeFuirnever/article/details/88943883