random seed 알아보기

random seed 알아보기

Random Seed 이해하기

이미지 출처 : 구글 검색

  • 컴퓨터가 난수를 생성하는 방법은 함수에 입력을 넣어서 출력을 만드는 과정인데, 그 입력값이 시드가 된다. 한 번 시드가 입력되면 그 다음 난수는 방금 생성된 수가 시드가 되기 때문에 첫 값만 입력해주면 된다. 이 때 씨를 뿌리는 것과 비슷하다고 해서 시드라고 부르며, 같은 시드값에 대해서는 동일한 순서의 난수가 생성됨이 보장된다.
  • 일반적으로 시드를 필요로 하지 않는 난수 생성기는 현재 시간을 시드값으로 넣는다.
# case 1 
import numpy as np
np.random.seed(10)
print(np.random.random_sample(10))
// array([0.77132064, 0.02075195, 0.63364823, 0.74880388, 0.49850701,
       0.22479665, 0.19806286, 0.76053071, 0.16911084, 0.08833981])

# case 2 
import numpy as np
np.random.seed(10)
print(np.random.random_sample(10))
// array([0.77132064, 0.02075195, 0.63364823, 0.74880388, 0.49850701,
       0.22479665, 0.19806286, 0.76053071, 0.16911084, 0.08833981])
  • 따라서 같은 시드값으로 시작했다면 나오는 랜덤 결과의 순서도 완전히 일치하게 된다.

댓글

이 블로그의 인기 게시물

[Linux, Unix] export, echo 명령어 알아보기

뼈속 깊이 이해하기 :: 1. 허프만 코딩

IEEE 754 부동 소수점 반올림과 근사