numpy.random.seed()的使用實例解析
這個函數(shù)的使用方法,已經(jīng)有前輩講解過了,只是自己在測試的時候有一些思考,所以便寫了這篇博客。下面是前輩文章的原話:
seed( ) 用于指定隨機(jī)數(shù)生成時所用算法開始的整數(shù)值,如果使用相同的seed( )值,則每次生成的隨即數(shù)都相同,如果不設(shè)置這個值,則系統(tǒng)根據(jù)時間來自己選擇這個值,此時每次生成的隨機(jī)數(shù)因時間差異而不同。
編寫如下第一份代碼:
from numpy import * num=0 while(num<5): random.seed(5) print(random.random()) num+=1
運行結(jié)果為:
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
可以看到,每次運行的結(jié)果都是一樣的
修改代碼,如下為第二份代碼:
from numpy import * num=0 random.seed(5) while(num<5): print(random.random()) num+=1
運行結(jié)果為:
0.22199317108973948
0.8707323061773764
0.20671915533942642
0.9186109079379216
0.48841118879482914
可以看到,和上一份代碼的運行結(jié)果不同。這里每次的輸出結(jié)果都是不一樣的。這也就提醒了我們在以后編寫代碼的時候要明白一點:random.seed(something)只能是一次有效。其實仔細(xì)想想也很自然,如果不是一次有效,比如說是一直有效,那豈不是會影響到后續(xù)的代碼中隨機(jī)數(shù)的選???
這次測試的代碼比較可以說是很簡單的,但是卻暴露了我的一個思維上的漏洞:在這次測試中我雖然明白了:
seed( ) 用于指定隨機(jī)數(shù)生成時所用算法開始的整數(shù)值,如果使用相同的seed( )值,則每次生成的隨即數(shù)都相同,如果不設(shè)置這個值,則系統(tǒng)根據(jù)時間來自己選擇這個值,此時每次生成的隨機(jī)數(shù)因時間差異而不同。
這段話的意思,但是我卻先入為主地認(rèn)為第二份代碼的結(jié)果應(yīng)和第一份代碼中的一致。而通過反面思考,假設(shè)這個函數(shù)使用一次后便是一直有效的,那么每次生成的隨即數(shù)都會相同,但是這樣豈不是會影響到后續(xù)的代碼中隨機(jī)數(shù)的選?。?/p>
所以,以后學(xué)新的東西的時候,都要問自己傻問題,不斷地去測試自己的想法以達(dá)到更深的理解。
故對于該函數(shù)的使用,可總結(jié)為:
seed( ) 用于指定隨機(jī)數(shù)生成時所用算法開始的整數(shù)值。
1.如果使用相同的seed( )值,則每次生成的隨即數(shù)都相同;
2.如果不設(shè)置這個值,則系統(tǒng)根據(jù)時間來自己選擇這個值,此時每次生成的隨機(jī)數(shù)因時間差異而不同。
3.設(shè)置的seed()值僅一次有效
總結(jié)
以上就是本文關(guān)于numpy.random.seed()的使用實例解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
python中squeeze的超詳細(xì)解釋(附代碼示例)
這篇文章主要介紹了python中squeeze的超詳細(xì)解釋,squeeze操作用于去除張量或數(shù)組中大小為1的維度,簡化數(shù)據(jù)結(jié)構(gòu),在PyTorch和NumPy中都有類似的功能,需要的朋友可以參考下2025-03-03
numpy.ndarray.flatten()函數(shù)的具體使用
本文主要介紹了numpy.ndarray.flatten()函數(shù)的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python實現(xiàn)去除Excel重復(fù)數(shù)據(jù)并統(tǒng)計重復(fù)次數(shù)
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言實現(xiàn)文本數(shù)據(jù)去重,創(chuàng)建包含唯一值的新列,并統(tǒng)計文本數(shù)據(jù)出現(xiàn)的次數(shù),需要的可以參考下2023-08-08

