numpy.random.seed()的使用
seed( ) 用於指定隨機數生成時所用算法開始的整數值,如果使用相同的seed( )值,則每次生成的隨即數都相同,如果不設置這個值,則系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同。
編寫如下第一份代碼:
from numpy import *
num=0
while(num<5):
random.seed(5)
print(random.random())
num+=1
運行結果爲:
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
可以看到,每次運行的結果都是一樣的
修改代碼,如下爲第二份代碼:
from numpy import *
num=0
random.seed(5)
while(num<5):
print(random.random())
num+=1
運行結果爲:
0.22199317108973948
0.8707323061773764
0.20671915533942642
0.9186109079379216
0.48841118879482914
可以看到,和上一份代碼的運行結果不同。這裏每次的輸出結果都是不一樣的。這也就提醒了我們在以後編寫代碼的時候要明白一點:random.seed(something)只能是一次有效。其實仔細想想也很自然,如果不是一次有效,比如說是一直有效,那豈不是會影響到後續的代碼中隨機數的選取?
故對於該函數的使用,可總結爲:
seed( ) 用於指定隨機數生成時所用算法開始的整數值。
1.如果使用相同的seed( )值,則每次生成的隨即數都相同;
2.如果不設置這個值,則系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同。
3.設置的seed()值僅一次有效