numpy.random.seed()的使用解析

seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

for i in range(5):
    np.random.seed(1)
    print(np.random.rand())
'''
0.417022004702574
0.417022004702574
0.417022004702574
0.417022004702574
0.417022004702574
'''

可以看到,每次运行的结果都是一样的.

修改代码:

np.random.seed(1)
for i in range(5):
    print(np.random.rand())
'''
0.417022004702574
0.7203244934421581
0.00011437481734488664
0.30233257263183977
0.14675589081711304
'''

可以看到,和上一份代码的运行结果不同。这里每次的输出结果都是不一样的。这也就提醒了我们在以后编写代码的时候要明白一点:random.seed(something)只能是一次有效。其实仔细想想也很自然,如果不是一次有效,比如说是一直有效,那岂不是会影响到后续的代码中随机数的选取?

故对于该函数的使用,可总结为:

seed( ) 用于指定随机数生成时所用算法开始的整数值。 
1.如果使用相同的seed( )值,则每次生成的随即数都相同; 
2.如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。 
3.设置的seed()值仅一次有效

原文地址:https://www.cnblogs.com/answerThe/p/11364354.html