Python/numpy

파이썬 numpy.random.seed 함수 활용하기

PySun 2024. 10. 4. 22:10
반응형

파이썬 NumPy에서 random.seed 함수 활용하기: 난수를 제어하는 비밀

파이썬의 NumPy 라이브러리는 다양한 수치 계산과 데이터 분석에 필수적인 도구입니다. 그 중에서도 numpy.random.seed 함수는 주어진 시드를 기반으로 난수를 생성할 때 사용할 수 있는 강력한 도구입니다. 이 포스팅에서는 numpy.random.seed 함수의 기본 개념과 사용법, 다양한 예제를 통해 난수 생성의 세계에 뛰어들어 보겠습니다.

numpy.random.seed 함수 소개

numpy.random.seed 함수는 난수 생성기의 초기값을 설정합니다. 이를 통해 재현 가능한 난수를 생성하고, 실험이나 테스트의 일관성을 유지할 수 있습니다. 만약 매번 동일한 결과를 얻고 싶다면 이 함수를 꼭 사용해야 합니다.

함수 시그니처

numpy.random.seed(seed)

매개변수:

  • seed: 난수 생성기의 초기값으로 사용할 정수입니다. 특히 동일한 시드를 사용하면 동일한 난수 시퀀스를 생성합니다.

반환 값:

  • 이 함수는 반환값이 없는 None 타입입니다.

사용 예제

기본 예제: 동일한 난수 생성하기

다음은 numpy.random.seed 함수를 사용하여 동일한 난수를 생성하는 기본 예제입니다.

import numpy as np

# 난수 생성기의 시드 설정
np.random.seed(42)

# 난수 생성
random_numbers = np.random.rand(5)
print(f"Generated random numbers: {random_numbers}")
# 출력: Generated random numbers: [0.37454012 0.95071431 0.73199394 0.59865848 0.15601864]

시드 변경을 통한 난수 생성 예

같은 시드 값을 주면 항상 동일한 난수가 생성되는데, 다른 시드를 주면 다른 난수가 생성된다는 점을 보여주는 예입니다.

import numpy as np

# 첫 번째 시드로 난수 생성
np.random.seed(10)
random_numbers1 = np.random.rand(5)

# 두 번째 시드로 난수 생성
np.random.seed(20)
random_numbers2 = np.random.rand(5)

print(f"Random numbers with seed 10: {random_numbers1}")
print(f"Random numbers with seed 20: {random_numbers2}")
# 출력:
# Random numbers with seed 10: [0.57140259 0.42888905 0.98600265 0.19871568 0.00537326]
# Random numbers with seed 20: [0.0884925  0.04522729 0.32533033 0.38867729 0.27134903]

결론

numpy.random.seed 함수는 난수 생성의 일관성을 확보하는 데 중요한 역할을 합니다. 특정 시드를 명시함으로써 같은 결과를 얻을 수 있는 것은 매우 유익한 경우가 많습니다. 실험이나 재현성이 필요한 데이터 분석 시 이 기능을 통해 예측 가능한 결과를 얻을 수 있습니다.

  • numpy.random.seed 함수를 통해 나만의 난수 생성법을 만들어 보세요!
  • 지금 바로 이 함수를 사용하여 실험의 일관성을 높여보세요!
반응형