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()值仅一次有效