2016-12-26 182 views
0
numpy.random.seed(7) 

在不同的機器學習和數據分析教程中,我看到這個種子集具有不同的數字。它在選擇特定種子數量方面有真正的差異嗎?或者任何數字都很好?選擇種子編號的目的是爲了重現相同的實驗。numpy中的隨機數種子

+0

是的,任何號碼都可以。這只是爲了重現性。 – user2314737

+0

沒有區別嗎?有些人使用非常大的數字,有些人使用很小的數字。那麼爲什麼不在實現中使用默認種子的numpy.random.seed()函數?用戶不必傳入種子。恐怕種子有用處。 – user697911

回答

2

每次程序運行時,提供相同的種子都會得到相同的結果。這在開發/測試過程中可以一次又一次可靠地得到相同的結果。

當您的應用程序處於「正在生產」狀態時,將種子源更改爲動態,如當前時間(或不太可預測的情況)以具有「典型隨機行爲」。如果你不提供種子,許多生成器會默認類似於當前時間,從某個時期開始毫秒。

實際的數字並不重要。我使用我的學校ID號碼(9位數字),因爲我已經徹底記住了它的習慣,但如果我希望它可以重現,也可以使用短2位數字進行快速測試。

+0

在生產中,你爲什麼仍然需要這個隨機數,因爲你不需要得到相同的結果? – user697911

+0

學號過長。只需使用'0'或'1'? – user697911

+0

@ user697911在許多語言/庫中,如果您不提供數字,它將默認爲類似當前時間。如果您正在編寫類似彩票軟件這樣的默認行爲可能會使隨機數字可預測的潛在危險,特別是如果最終用戶知道/可以猜測隨機數字源是什麼。 – Carcigenicate