Numpy中隨機數
阿新 • • 發佈:2021-01-01
方式一
常用函式
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() # 效果同方式一