中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-15 11:59:29 來源:腳本之家 閱讀:169 作者:linzch3 欄目:開發技術

這個函數的使用方法,已經有前輩講解過了,只是自己在測試的時候有一些思考,所以便寫了這篇博客。下面是前輩文章的原話:

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( ) 用于指定隨機數生成時所用算法開始的整數值,如果使用相同的seed( )值,則每次生成的隨即數都相同,如果不設置這個值,則系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同。

這段話的意思,但是我卻先入為主地認為第二份代碼的結果應和第一份代碼中的一致。而通過反面思考,假設這個函數使用一次后便是一直有效的,那么每次生成的隨即數都會相同,但是這樣豈不是會影響到后續的代碼中隨機數的選取?

所以,以后學新的東西的時候,都要問自己傻問題,不斷地去測試自己的想法以達到更深的理解。

故對于該函數的使用,可總結為:

seed( ) 用于指定隨機數生成時所用算法開始的整數值。
1.如果使用相同的seed( )值,則每次生成的隨即數都相同;
2.如果不設置這個值,則系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同。
3.設置的seed()值僅一次有效

總結

以上就是本文關于numpy.random.seed()的使用實例解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浠水县| 元阳县| 启东市| 巴南区| 石泉县| 芒康县| 罗田县| 察哈| 莆田市| 唐山市| 仁寿县| 镇坪县| 黎平县| 武乡县| 醴陵市| 乌鲁木齐县| 南京市| 灵川县| 灵山县| 施甸县| 丹阳市| 桐庐县| 吉林省| 新建县| 万盛区| 中山市| 胶南市| 驻马店市| 江陵县| 通州市| 平定县| 融水| 徐闻县| 湖北省| 藁城市| 古浪县| 丰都县| 康平县| 恭城| 兴国县| 江川县|