4._주어진_배열에서_무작위_추출

무작위 추출의 경우

using Pkg
Pkg.add("StatsBase")

로 StatsBase 패키지를 설치한 후 using을 해주어야 한다.

using StatsBase

x = 1:10;
sample(x)

하면 1부터 10까지 공차가 1인 등차수열이 x에 들어가고 sample(x)를 하면 x의 요소를 균일한 가중치로 무작위 복원 추출을 한다.

만약 가중 복원 추출을 원하면

using StatsBase

x = 1:10;
weights = rand(10); # [0, 1) 의 범위에서 난수 10개 생성 후 1차원 배열로 만듦
sample(x, Weights(weights))

이렇게 코드를 짜면 된다.

여러 개의 표본을 균일한 가중치로 뽑고 싶으면

using StatsBase
x = 1:10
sample(x,n)

으로 n에 원하는 숫자를 넣으면 된다.

비균일 가중치로 여러개를 뽑고 싶다면

using StatsBase

x = 1:10;
weights = rand(10); # [0, 1) 의 범위에서 난수 10개 생성 후 1차원 배열로 만듦
sample(x, Weights(weights), n)

을 하면 된다.

마지막으로 비복원 추출을 원하면

using StatsBase

x = 1:10;
weights = rand(10); # [0, 1) 의 범위에서 난수 10개 생성 후 1차원 배열로 만듦
sample(x, replace = false)

이렇게 replace = false 를 넣어주면 된다.

  • 4._주어진_배열에서_무작위_추출.txt
  • Last modified: 2021/06/14 17:13
  • by jonghoon