콘텐츠로 건너뛰기

np.random.normal를 사용하는 방법과 수정 방법은 무엇인가요?

[

NumPy를 사용하여 정규 분포된 난수 생성하는 방법

확률 분포는 어떤 사건 또는 실험의 가능한 모든 결과에 대한 가능성을 설명합니다. 정규 분포는 많은 자연 현상을 매우 잘 모델링하기 때문에 가장 유용한 확률 분포 중 하나입니다. NumPy를 사용하면 정규 분포에서 임의의 숫자 샘플을 생성할 수 있습니다.

이 분포는 또한 가우시안 분포 또는 간단히 종모양 곡선이라고도 불립니다. 후자는 그 분포의 형태를 힌트로 제공합니다:

정규 분포는 그 정점을 중심으로 대칭적입니다. 이 대칭성으로 인해 분포의 평균, 일반적으로 μ 로 표시되는, 그 정점에 위치합니다. 표준 편차, σ,는 분포가 얼마나 퍼져 있는지를 설명합니다.

일부 샘플이 정규 분포라면, 임의의 샘플이 평균에 가까운 값을 가지는 것이 가능합니다. 실제로, 모든 샘플의 약 68%는 평균에서 한 표준 편차 이내에 있습니다.(약 68%)

플롯에서 곡선 아래의 면적을 확률의 측정 값으로 해석할 수 있습니다. 어두운 색으로 표시된 면적은 평균에서 한 표준 편차보다 작은 모든 샘플을 나타내며, 곡선 아래의 전체 면적의 68%입니다.

또한 Matplotlib과 히스토그램을 사용하여 확률 분포를 시각화하고 평균과 표준 편차 조작의 영향을 볼 것입니다. 중심극한정리는 정규 분포의 중요성을 설명합니다. 이는 모든 반복적인 실험 또는 측정의 평균이 정규 분포에 근사한다는 것을 설명합니다.

배울 내용을 기반으로 적절한 Python 코드로 강력한 통계 분석도 수행할 수 있습니다. 이 튜토리얼에서 사용할 코드를 다운로드하려면 아래 링크를 클릭하세요:

무료 보너스: [여기를 클릭하여 정규 분포에서 NumPy를 사용하여 임의의 숫자를 생성하는 무료 샘플

Shell

$ python -m pip install numpy matplotlib scipy

NumPy를 사용하여 정규 분포에서 임의의 숫자를 생성하는 방법

Python

import numpy as np
rng = np.random.default_rng()
rng

RNG는 다음과 같이 생성됩니다:

Generator(PCG64) at 0x7F00828DD8C0

RNG은 무작위 숫자를 생성하는 데 사용됩니다.

정규 분포에서 샘플을 생성하려면 np.random.normal() 메서드를 사용합니다. 이 메서드는 평균과 표준 편차를 지정하여 정규 분포를 따르는 난수를 생성합니다.

다음은 np.random.normal() 메서드를 사용하여 정규 분포에서 임의의 숫자 샘플을 생성하는 예입니다. 평균은 0이고 표준 편차는 1로 설정되어 있습니다.

Python

import numpy as np
mean = 0
std = 1
samples = np.random.normal(mean, std, size=100)
print(samples)

이 예에서는 평균이 0이고 표준 편차 1을 갖는 정규 분포에서 100개의 임의의 수를 생성합니다.

실행하면 다음과 같은 결과가 생성됩니다:

[-0.34521927 0.23360871 0.58778524 -0.21954973 -0.54155095 -0.94329142
0.67687984 -0.01137218 0.80024911 1.01717396 -0.58130177 0.24522748
...
(중략)
...
-0.17664486 -0.19798806 -0.14861441 -1.78286996 0.13503178 0.5059212
-0.04978227 -0.54908388 -0.54627057 -0.12268972 -0.00946973 0.05220753]

이제 np.random.normal() 메서드를 사용하여 정규 분포에서 임의의 숫자 샘플을 생성하는 방법을 알게 되었습니다. 이를 통해 정규 분포와 관련된 다양한 작업을 수행할 수 있습니다.