不说别的,先放一组代码运行:
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),生成的序列就不会后负值(这个是本人多次试出来的结果)
希望对你有帮助!