np.random模組
阿新 • • 發佈:2019-01-11
uniform(low=0.0, high=1.0, size=None)
low : float or array_like of floats, optional
size : int or tuple of ints, optional
返回值: ndarray or scalar
從一個均勻分佈( [low, high):半開區間)中進行取樣
np.random.uniform(1,2,(2,2))
[[1.62329443 1.38730153]
[1.90290111 1.90773506]]
<class 'numpy.ndarray' >
np.random.uniform(1,2)
1.8948932223669779
<class 'float'>
np.random.rand: a convenience function for np.random.uniform(0, 1)
建立給定形狀的陣列,並用來自在[0,1)區間的均勻分佈的隨機樣本填充它
np.random.rand(3,2)
array([[ 0.14022471, 0.96360618], #random
[ 0.37601032, 0.25528411], #random
[ 0.49313049, 0.94909878]] )
numpy.random.randn(d0, d1, …, dn)
d0, d1, …, dn : int, optional
返回值:ndarray or float
從標準正態分佈 N(0,1) 中返回對應的陣列或浮點數
如要從返回對應的陣列或浮點數,
應這樣寫sigma * np.random.randn(…) + mu
標準正態分佈曲線下面積分佈規律是:
在-1.96~+1.96範圍內曲線下的面積等於0.9500(即取值在這個範圍的概率為95%),在-2.58~+2.58範圍內曲線下面積為0.9900(即取值在這個範圍的概率為99%).
因此,由 np.random.randn()函式所產生的隨機樣本基本上取值主要在-1.96~+1.96之間,當然也不排除存在較大值的情形,只是概率較小而已。
np.random.randn()
2.1923875335537315
np.random.randn(2,3)
array([[ 2.70467482 1.56520692 -0.94020936]
[ 0.37279013 0.52813483 -2.38238942]])
從N(3, 6.25)正態分佈中取值
2.5 * np.random.randn() + 3
2.5830743542241477
2.5 * np.random.randn(2, 4) + 3
array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677],
[ 0.39924804, 4.68456316, 4.99394529, 4.84057254]])