본문 바로가기
Python/Python FAQ

Python numpy.random.seed(0)은 무엇을 하는 것인가요?, What does numpy.random.seed(0) do?

by 베타코드 2023. 10. 26.
반응형

질문


What does np.random.seed do?

np.random.seed(0)

답변


np.random.seed(0)은 난수를 예측 가능하게 만듭니다.

>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55,  0.72,  0.6 ,  0.54])
>>> numpy.random.seed(0) ; numpy.random.rand(4)
array([ 0.55,  0.72,  0.6 ,  0.54])

시드를 재설정하면 매번 동일한 숫자 세트가 나타납니다.

만약 랜덤 시드가 재설정되지 않으면, 매번 호출할 때마다 다른 숫자가 나타납니다:

>>> numpy.random.rand(4)
array([ 0.42,  0.65,  0.44,  0.89])
>>> numpy.random.rand(4)
array([ 0.96,  0.38,  0.79,  0.53])

(의사-)랜덤 숫자는 숫자(시드)부터 시작하여 큰 숫자로 곱하고 오프셋을 더한 다음 그 합의 모듈로를 취함으로써 작동합니다. 그 결과 숫자는 다음 "랜덤" 숫자를 생성하기 위해 시드로 사용됩니다. 시드를 설정하면 (매번) 동일한 작업을 수행하여 동일한 숫자를 제공합니다.

만약 보이는 듯한 랜덤 숫자를 원한다면, 시드를 설정하지 마십시오. 그러나 랜덤 숫자를 사용하는 코드를 디버그하려는 경우, 매번 실행하기 전에 시드를 설정하는 것이 매우 도움이 될 수 있습니다.

각 실행마다 가장 많은 랜덤 숫자를 얻으려면 numpy.random.seed()를 호출하십시오. 이것은 numpy가 시드를 /dev/urandom 또는 해당 Windows 버전에서 얻은 난수로 설정하거나, 이 둘 중 어느 것도 사용할 수 없는 경우 시계를 사용합니다.

의사 난수를 생성하기 위해 시드를 사용하는 방법에 대한 자세한 정보는 위키백과를 참조하십시오.

반응형

댓글