numpy.random.seed()的使用

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()值僅一次有效
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章