제가 예전에 설명 드렸던 numpy라는 라이브러리에는
랜덤하게 난수를 생성해주는 random이라는 함수가 있습니다
하지만 아무리 난수라고 해도 지정된 범위 내에서 생성을 해줍니다
범위는 대표적으로 3개가 있습니다
첫 번째는 np.random.rand 입니다 (np는 numpy의 약자로 앞에서 라이브러리를 임포트한걸 전제로 합니다)
np.random 부분은 numpy라는 라이브러리 내에 random이라는 메소드를 불러온겁니다
그리고 rand는 구체적인 범위를 알려주는 부분입니다
rand의 경우 0보다 크거나 같고 1보다 작은 범위 내에서 균일한 분포의 난수를 생성해줍니다
EX) np.random.rand(5) => array([0.31912849, 0.50176702, 0.36029099, 0.29524596, 0.84087018])
np.random.rand(5, 2) => array([[0.38829117, 0.46683553],
[0.45435497, 0.88771764],
[0.74737847, 0.11191308],
[0.38632711, 0.45830565],
[0.63803833, 0.21077754]])
이렇게 출력이 됩니다.
1차원은 물론 2차원으로 행렬 형태로도 출력이 가능합니다
다음은 np.random.randint 입니다
이거 같은 경우는 아주 쉽습니다 메소드 마지막에 int가 적혀 있듯이 랜덤한 integer, 즉 정수를 뽑아주는 겁니다
EX) np.random.randint(1, 6, 3) => array([1, 2, 2])
괄호 안에 1, 6은 1부터 6까지라는 뜻이고 3은 갯수를 의마합니다예를 들어 (1, 10, 5)라면 1부터 10중에 5개의 정수를 뽑으라는 의미가 됩니다
마지막은 오늘 그려볼 표준정규분포와 연관된 np.random.randn 입니다이것도 메소드 마지막에 붙은 n이 normal-distribution을 의미합니다
이 그림은 표준 정규 분포를 그린 그래프 입니다
표준 정규분포는 평균이 0이고, 표준편차가 1인 정규분포N(0, 12)을 표준정규분포라 합니다
표준 정규분포식을 파이썬으로 작성하면
'파이썬 > numpy' 카테고리의 다른 글
Numpy에 대해 알아보자 (0) | 2021.10.07 |
---|