rand()
주어진 shape을 가진 array를 생성하며, [0, 1) 범위에서 균일한 분포를 갖는다.
import numpy as np
a = np.random.rand(5)
print(a)
b = np.random.rand(2, 3)
print(b)
[0.41626628 0.40269923 0.80574938 0.67014962 0.47630372]
[[0.83739956 0.62462355 0.66043459]
[0.96358531 0.23121274 0.68940178]]
randint()
[최소값, 최대값)의 범위에서 임의의 정수를 만든다. size 인수를 통해 shape을 지정할 수 있다.
import numpy as np
a = np.random.randint(2, size=5)
print(a)
b = np.random.randint(2, 4, size=5)
print(b)
c = np.random.randint(1, 5, size=(2, 3))
print(c)
[0 0 0 0 0]
[3 3 2 2 3]
[[3 2 4]
[2 2 2]]
randn()
표준정규분포로부터 샘플링된 array를 반환한다. rand와 마찬가지로 shape을 지정할 수 있다.
import numpy as np
a = np.random.randn(5)
print(a)
b = np.random.randn(2, 3)
print(b)
sigma, mu = 1.5, 2.0
c = sigma * np.random.randn(5) + mu
print(c)
[ 0.06704336 -0.48813686 0.4275107 -0.9015714 -1.30597604]
[[ 0.87354043 0.03783873 0.77153503]
[-0.35765934 2.11477207 1.28474164]]
[0.47894537 1.2894864 2.51428183 1.55888021 0.08079876]
표준정규분포 N(1, 0)이 아닌 평균 $\mu$, 표준편차 $\sigma$를 갖는 정규분포의 array를 생성하기 위해서는 위의 예시 c 처럼 사용하면 된다.
standard_normal()
randn과 마찬가지로 표준정규분포로 부터 샘플링하지만 튜플을 인자로 받는다는 차이가 있다.
import numpy as np
d = np.random.standard_normal(3)
print(d)
e = np.random.standard_normal((2, 3))
print(e)
[ 0.72496842 -1.94269564 -0.39983457]
[[-0.36962525 0.61226929 1.91266759]
[ 0.2095275 -0.66655062 0.74094405]]
normal()
정규분포로부터 샘플링한다.
import numpy as np
a = np.random.normal(0, 1, 2)
print(a)
b = np.random.normal(1.5, 1.5, 4)
print(b)
c = np.random.normal(3.0, 2.0, (2, 3))
print(c)
[-0.66144234 2.52980783]
[2.96297363 1.71391993 1.61165712 3.57817189]
[[3.28846179 5.14251661 4.31800249]
[4.79395804 1.59956438 4.46791867]]
a는 정규분포 $N(0, 1)$로부터 얻은 임의의 숫자 2개
b는 정규분포 $N(1.5, {1.5}^2)$로부터 얻은 임의의 숫자 4개
b는 정규분포 $N(3, 2^2)$로부터 얻은 (2, 3) 형상의 array이다.
random_sample()
[0.0, 1.0) 범위에서 샘플링된 임의의 실수를 반환한다.
import numpy as np
a = np.random.random_sample()
print(a)
b = np.random.random_sample((5, 2))
print(b)
c = 5 * np.random.random_sample((3, 2)) - 3
print(c)
0.9662064052518934
[[0.21827699 0.39935976]
[0.4444503 0.53683571]
[0.63821048 0.89894424]
[0.07794204 0.80244891]
[0.36607828 0.15745157]]
[[ 1.17525258 0.58536383]
[ 1.44294647 -2.39544082]
[-0.48931127 1.84401433]]
choice
np.random.choice(a, size, replace, p)
- a : 1-d array나 int로 지정할 수 있으며, array로 지정시 해당 array의 element로 부터 샘플링을 한다. int로 지정시 [0, int)범위에서 정수값을 샘플링한다.
- size : shape을 지정할 수 있다.
- replace : 복원 추출 여부로 True 지정시 중복 추출이 가능하다.
- p : 확률 리스트로써 해당 확률을 반영하여 샘플링한다. len(p) == a 이어야함