numpy.random.randn

numpy.random.randn 함수는 표준정규분포 (standard normal distribution)에서 샘플링한 난수를 반환합니다.



예제1

import numpy as np

a = np.random.randn(5)
b = np.random.randn(2, 3)

print(a)
print(b)
[0.28140916 0.47827139 0.96844448 1.48415209 0.78947828]
[[-0.35707587 -0.6925682   1.0248466 ]
 [-1.77603803 -0.66903502  1.23282111]]

a는 표준정규분포에서 샘플한 난수 5개의 어레이입니다.

b는 (2, 3) 형태의 난수 어레이입니다.



예제2

표준정규분포 N(1, 0)이 아닌, 평균 \({\mu}\), 표준편차 \({\sigma}\) 를 갖는 정규분포 N(\({\mu}\), \({\sigma}\)2)의 난수를 샘플링하기 위해서는

\({\sigma}\) * np.random.randn(…) + \({\mu}\) 와 같은 형태로 사용합니다.

import numpy as np
import matplotlib.pyplot as plt

a = np.random.randn(10000)
b = 3.0 * np.random.randn(10000) + 1.5

plt.hist(a, bins=100, density=True, alpha=0.7, histtype='stepfilled')
plt.hist(b, bins=100, density=True, alpha=0.5, histtype='stepfilled')
plt.show()

a는 표준정규분포를 갖는 임의의 실수 10000개이고,

b는 표준편차 3.0, 평균 1.5를 갖는 임의의 실수 10000개입니다.

matplotlib을 이용해서 분포를 확인해보면 아래와 같습니다.

../_images/numpy_random_randn_01.png

그림. numpy.random.randn()으로 생성한 난수의 분포.



이전글/다음글

다음글 :