1. 程式人生 > 實用技巧 >Numpy中隨機數

Numpy中隨機數

方式一

常用函式

numpy.random.rand(d0, d1, ..., dn)  #產生均勻分佈的隨機數
numpy.random.randn(d0, d1, ..., dn)  # 產生標準正態分佈隨機數
numpy.random.randint(low, high=None, size=None, dtype=None)  # 生成在[low, high)範圍內,形狀為size的隨機整數
numpy.random.random_sample(size=None)  # 生產形狀為size的,範圍在[0.0, 1.0)的均勻分佈的隨機數
numpy.random.random(size=None)  # 同random_sample
numpy.random.ranf(size=None)  # 同random_sample
numpy.random.sample(size=None)  # 同random_sample
# 注意:其中size可以是(a, b, c)或者[a, b, c]

設定隨機數種子

numpy.random.seed(seed=None)  #設定隨機數種子為seed

這裡要注意的是,設定seed後,並不是讓之後每個相通隨機函式返回相同的值。而是讓每次從頭執行時,每個隨機函式返回和上次執行時相同的值。

如:

np.random.seed(1)
a = np.random.rand(10)
b = np.random.rand(10)
c = np.random.rand(10)

如果執行一次上面的程式碼,那麼a、b、c是各不相同的。

但如果第二次執行,那麼得到的a'、b'、c'和上次的a、b、c對應相同。

方式二

rnd = np.random.RandomState(seed = 10)
rnd.rand()  # 效果同方式一