R 프로그램 set.seed(n)에 관해서 질문합니다.

  • #3252048
    Rer 97.***.116.8 10449

    set.seed(n)의 n이 시작점이라는게 무슨 소리인지 모르겠네요…

    where n is a seed number which is an integer value.

    The seed number (n) you choose is the starting point used in the generation of a sequence of random numbers. Which is why you’ll obtain the same results given the same seed number.

    예를들어
    set.seed(123)
    rnorm(5)

    set.seed(321)
    rnorm(5)

    n=123일때는 rnorm중에 123번째부터 위치한 숫자5개를 랜덤으로 뽑고 n=321일때는 321번째에 위치한 숫자 5개를
    랜덤으로 뽑는다는 소린가요? n의 숫자가 의미하는게 멀까요? 시작점이 왜 중요한거죠

    • 우우 96.***.173.186

      시드를 같은 값으로 넣으면 나중에 랜덤 수를 뽑을때 차례가 같습니다. 테스트 하기 용이하죠

      • Rer 97.***.116.8

        우우님 랜덤 수를 뽑을때 시작점이 같으니 차례가 같은건 알겠는데 n이라는 parameter안에 아무 숫자를 넣는데 숫자가 의미하는것이 있나요?
        그리고 테스트하기 용이하다는거를 혹시 예를 들어 줄수있나요? 제가 위에 적은예로는
        set.seed(123)
        rnorm(5)
        set.seed(123)
        rnorm(5) 2번돌리면 n=5고 시작점이 같아서
        [1] -0.56047565 -0.23017749 1.55870831 0.07050839 0.12928774

        [1] -0.56047565 -0.23017749 1.55870831 0.07050839 0.12928774 이렇게 같은 값이 나오는건데
        이것이 어떤 테스트를 할때 용이 한건지 잘모르겠네요,,

    • CS 73.***.166.92

      많은 모델이 랜덤하게 무엇인가 (예: 샘플링) 를 하는 경우가 많은데,
      이럴때 무슨 문제가 생기면 그게 랜덤하게 재수가 없었던 것인지 아니면 모델자체에 문제가 있는 것인지를 알아보려면 reproducibility 가 중요합니다. 따라서 시드값을 직접 설정하면 랜덤한 것들을 재현할 수 있으니 유용하게 쓰이는 겁니다.

      시드값은 그냥 키값이라고 생각하시면 됩니다.

    • 붕붕 199.***.64.16

      n=123일때는 rnorm중에 123번째부터 위치한 숫자5개를 랜덤으로 뽑고 n=321일때는 321번째에 위치한 숫자 5개를 랜덤으로 뽑는다는 소린가요? —> 아니요.
      number 자체는 별 의미없음. 같은 seed 면 같은 random number 가 만들어진다는 것만 중요함.
      seed 를 어떻게 만들어 내는지 방법이 여러개 있음. random number 를 어떻게 생성하는지 검색해보세요. 완전 신세계임.
      그리고 같은 seed 를 쓰더라도 첫번째 생성한 넘버들이랑 두번째 생성한 넘버들은 다름. seed 를 다시 리셋해야함.

      Seed 를 고정하고 random number 를 생성하는건 아주아주 중요합니다. 테스트시 용이함을 넘어서 소프트웨어의 credibility(?) 의 문제죠. 랜덤넘버를 사용하는 어떤 소프트웨어가 오늘 돌릴때랑 내일돌릴때랑 매번 결과가 다르면 사용자입장에서는 굉장히 큰 혼란이오겠죠. 소프트웨어를 믿지못하는 뭐 그런. 그래서 사용자가 seed 넘버를 정할수있게 해주던가 아예 그냥 고정을 시켜놓습니다.

    • 현직 63.***.131.70

      random function generator를 쓰기 위해 초기값이 필요하죠. 천번을 돌려 나온 숫자들의 히스토그램 분포를 확인해 가우시안 분포를 갖으면 실패한 경우고 플랫한 분포를 갖아야 true random function generator라 말할 수 있습니다.

    • Rer 97.***.116.8

      모두 답변 너무 감사합니다, R 프로그래밍 시작했는데 알수록 재밌어지네요! 왜 reproducible이라고 하는지랑 credibility 그리고 쉽게 가우시안 분포로 설명까지 🙂

The forum ‘Job & Work Life’ is closed to new topics and replies.