본문 바로가기
PROGRAMMING/Python

[PYTHON] numpy.random.randn (NumPy 난수)

by HYUNHP 2022. 2. 28.
728x90
반응형

안녕하세요, HELLO

PYTHON에서 데이터 분석을 할 때 기초 라이브러리로 사용되는 Numpy에 대해서 알아보도록 하겠습니다. NumPy는 수학, 과학 연산을 위한 파이썬의 필수적이고 기본적인 패키지이며, 오늘은 Numpy에서 난수 생성 함수인 random 모듈에서 표준 정규분포(Standard normal distribution)를 만드는 randn 함수에 대해서 정리해보겠습니다.

 


STEP 1. 'numpy.random.randn' 개념

 

STEP 2. 'numpy.random.randn' 설명


STEP 1. 'numpy.random.randn' 개념

 

random.randn 함수는 표준정규분포 (Standard normal distribution)로부터 샘플링된 무작위 난수를 반환합니다.

 

Return a sample (or samples) from the “standard normal” distribution.

 

If positive int_like arguments are provided, randn generates an array of shape (d0, d1, ..., dn), filled with random floats sampled from a univariate “normal” (Gaussian) distribution of mean 0 and variance 1. A single float randomly sampled from the distribution is returned if no argument is provided.

 

추가적으로 표준정규분포 N(1, 0)이 아닌, 평균 μ, 표준편차 σ 를 가지는 정규분포 N(μ, σ2)의 난수를 생성하려면

σ * np.random.randn(…) + μ 와 같은 형태로 사용하면 됩니다.

 

For random samples from N(μ,σ2), use:

sigma * np.random.randn(...) + mu


STEP 2. 'numpy.random.randn' 설명

 

import numpy as np

random_1 = np.random.randn(3) #1차원 array
print("random_1 = ", random_1)

random_2 = np.random.randn(2, 3) # 2차원 array
print("random_2 = ", random_2)

sigma, mu = 2.0, 3.0 # 표준편차 = 2, 평균 = 3

random_3 = sigma * np.random.randn(5) + mu
print("random_3 = ", random_3)

 

 

위에서 정리한 것처럼 표준 정규분포 N(1, 0)이 아닌, 평균 μ, 표준편차 σ 를 가지는 정규분포 N(μ, σ2)의 난수를 생성하려면 σ * np.random.randn(…) + μ 와 같은 형태로 사용하면 됩니다.


추가적으로 Numpy의 random 함수 등에 대해서 정리가 필요하시면 아래 포스팅을 참고하시면 됩니다.

 

2022.02.27 - [DATA_SCIENCE/Python] - [PYTHON] numpy.random.rand (NumPy 난수 random number)

 

2022.02.27 - [DATA_SCIENCE/Python] - [PYTHON] numpy.random.randint (NumPy 난수)


■ 마무리

 

Numpy에서 표준정규분포(Standard normal distribution)를 만드는 randn 함수에 대해서 알아봤습니다.

좋아요댓글 부탁드리며,

오늘 하루도 즐거운 날 되시길 기도하겠습니다 :)

감사합니다.

반응형

댓글