np.random.seed()的作用

不说别的,先放一组代码运行:

np.random.seed(4)
print(np.random.randn(5))
# np.random.seed(4)
print(np.random.randn(5))
np.random.seed(4)
print(np.random.randn(5))

这段代码的运行结果如下:

[ 0.05056171  0.49995133 -0.99590893  0.69359851 -0.41830152]
[-1.58457724 -0.64770677  0.59857517  0.33225003 -1.14747663]
[ 0.05056171  0.49995133 -0.99590893  0.69359851 -0.41830152]

已知np.random.randn(5)表示生成五个随机数。
通过对比发现第一行和第三行是完全相同的,这是因为他们都在生成随机数前使用了np.random.seed(4),也就是说:
当使用np.random.seed(num),而里面的num相同时,那么生成的随机数将会一样。

另外再看一组相似代码:

np.random.seed(4)
print(np.random.randn(5))
np.random.seed(0)
print(np.random.randn(5))
np.random.seed(3)
print(np.random.randn(5))

运行结果如下:

[ 0.05056171  0.49995133 -0.99590893  0.69359851 -0.41830152]
[1.76405235 0.40015721 0.97873798 2.2408932  1.86755799]
[ 1.78862847  0.43650985  0.09649747 -1.8634927  -0.2773882 ]

根据上面的总结信息可以确定这里面的每一行彼此都不应该相同,但是意外的发现如果使用np.random.seed(0),生成的序列就不会后负值(这个是本人多次试出来的结果)

希望对你有帮助!

你可能感兴趣的:(numpy函数库,python)