Programing

np.random.seed ()와 np.random.RandomState ()의 차이점

lottogame 2020. 12. 31. 07:51
반응형

np.random.seed ()와 np.random.RandomState ()의 차이점


numpy.random의 임의성을 시드하고 재현 할 수 있으려면 다음을 수행해야합니다.

import numpy as np
np.random.seed(1234)

하지만 무엇을 np.random.RandomState()합니까?


np.random...사용할 시드를 설정 하려면 np.random.seed다음을 사용하십시오 .

np.random.seed(1234)
np.random.uniform(0, 10, 5)
#array([ 1.9151945 ,  6.22108771,  4.37727739,  7.85358584,  7.79975808])
np.random.rand(2,3)
#array([[ 0.27259261,  0.27646426,  0.80187218],
#       [ 0.95813935,  0.87593263,  0.35781727]])

전역 numpy 상태에 영향을 미치지 않도록 클래스를 사용하십시오.

r = np.random.RandomState(1234)
r.uniform(0, 10, 5)
#array([ 1.9151945 ,  6.22108771,  4.37727739,  7.85358584,  7.79975808])

그리고 이전과 마찬가지로 상태를 유지합니다.

r.rand(2,3)
#array([[ 0.27259261,  0.27646426,  0.80187218],
#       [ 0.95813935,  0.87593263,  0.35781727]])

다음을 사용하여 '글로벌'클래스의 상태를 볼 수 있습니다.

np.random.get_state()

다음을 사용하여 자신의 클래스 인스턴스를

r.get_state()

np.random.RandomState()난수 생성기를 구성합니다. 의 독립 함수에는 영향을주지 않지만 np.random명시 적으로 사용해야합니다.

>>> rng = np.random.RandomState(42)
>>> rng.randn(4)
array([ 0.49671415, -0.1382643 ,  0.64768854,  1.52302986])
>>> rng2 = np.random.RandomState(42)
>>> rng2.randn(4)
array([ 0.49671415, -0.1382643 ,  0.64768854,  1.52302986])

random.seedrandom.RandomState 컨테이너 를 채우는 메서드 입니다.

numpy 문서에서 :

numpy.random.seed(seed=None)

발전기를 시드하십시오.

이 메서드는 RandomState가 초기화 될 때 호출됩니다. 발전기를 다시 시드하기 위해 다시 호출 할 수 있습니다. 자세한 내용은 RandomState를 참조하십시오.

class numpy.random.RandomState

Mersenne Twister 의사 난수 생성 기용 컨테이너입니다.

참조 URL : https://stackoverflow.com/questions/22994423/difference-between-np-random-seed-and-np-random-randomstate

반응형