numpy.random.seed()

把設定seed比喻成選擇容器應該好理解一點。

設置seed()裏的數字就相當於設置了一個裝有隨機數的容器,數字代表容器的標號,當我們在seed()的括號裏設置相同的seed,就相當於指定了統一個容器,那當然每次取出的隨機數就會相同(並不是從裏面隨機取數字,只要設置的seed相同取出地隨機數就一樣)。如果不設置seed,則每次會生成不同的隨機數。seed括號裏的數值基本可以隨便設置,設定一個之後,裏面會生成一個固定的隨機數序列,之後只要seed()裏面設定值一樣,之後取出的隨機數就是一樣的。


>>> import numpy as np
>>> np.random.seed(1)  #設定一個隨機種子seed(1)
>>> a = np.random.random(5) #獲取長度爲5的隨機數序列
>>> a
array([4.17022005e-01, 7.20324493e-01, 1.14374817e-04, 3.02332573e-01,
       1.46755891e-01])
>>> np.random.seed(1) #設定隨機種子seed(1),爲剛纔的那一個
>>> b = np.random.random(3) #獲取長度爲3的隨機數序列
>>> b
array([4.17022005e-01, 7.20324493e-01, 1.14374817e-04])  
##可以看到,只要seed值設置一樣,取出的隨機序列是一樣的,只是長度不一樣

>>> np.random.seed(2) #設定新的隨機種子seed(2)
>>> b = np.random.random(4) #獲取長度爲4的隨機數序列
>>> b
array([0.4359949 , 0.02592623, 0.54966248, 0.43532239]) ##就得到於剛纔不一樣的結果
#繼續取隨機數
>>> c = np.random.random(4) ##此時已經不再是屬於seed(2)的範疇,取得的數是隨機的
>>> c
array([0.4203678 , 0.33033482, 0.20464863, 0.61927097])

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章