numpy.random.rand

[0, 1) 사이의 범위에서 균일한 분포를 갖는 난수를 주어진 형태로 반환합니다.

예제1

import numpy as np

print(np.random.rand(2, 3))
[[ 0.67816873  0.47715798  0.46253741]
 [ 0.59681108  0.49917657  0.53284009]]

(2, 3)의 형태를 갖는 난수의 어레이가 만들어졌습니다.



예제2

import numpy as np
import matplotlib.pyplot as plt

a = np.random.rand(1000)
b = np.random.rand(10000)
c = np.random.rand(100000)

plt.hist(a, bins=100, density=True, alpha=0.5, histtype='step')
plt.hist(b, bins=100, density=True, alpha=0.75, histtype='step')
plt.hist(c, bins=100, density=True, alpha=1.0, histtype='step')
plt.show()

a, b, c는 각각 random_rand()를 사용해서 샘플링된 1000, 10000, 100000개의 난수의 어레이입니다.

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

샘플의 개수가 많아질 수록 더 균일한 분포를 이루는 것을 확인할 수 있습니다.

../_images/numpy_random_rand_01.png

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



이전글/다음글

이전글 :