Random Sampling Operator
- 입력 데이터를 분포도(fraction)만큼 무작위로 sampling을 하는 방법이다.
구현 알고리즘은 SSRWR와 SSRWOR가 있으며 Replacement에 따라 sampling을 중복으로 뽑힐지 설정할 수 있다. (withReplacement가 true 면 중복 sampling 가능하다.)
- fractions: sample 사이즈 비율 (required)
- fraction 값이 1이면 결과 dataframe의 크기가 sampling 전 dataframe과 같다.
- withReplacement: 중복 데이터 포함 여부. True 이면 중복 데이터가 포함될 수 있고, False 이면 중복 데이터가 포함될 수 없다.
- seed: random seed 값 (optional)
data1 |
data2 |
data3 |
data4 |
data5 |
91.5775 |
81.572 |
84 |
73.2035 |
79.5918 |
83.4467 |
72.9477 |
92 |
60.6273 |
75.1917 |
47.0239 |
51.3076 |
31 |
25.807 |
36.0382 |
69.9559 |
61.0005 |
76 |
76.643 |
71.2145 |
57.2462 |
53.9258 |
79 |
65.2266 |
66.0508 |
42.8488 |
46.1728 |
7 |
31.9797 |
28.3842 |
73.7949 |
64.0751 |
98 |
61.2696 |
74.4483 |
22.4626 |
31.7166 |
6 |
28.549 |
22.0886 |
data1 |
data2 |
data3 |
data4 |
data5 |
91.5775 |
81.572 |
84 |
73.2035 |
79.5918 |
69.9559 |
61.0005 |
76 |
76.643 |
71.2145 |
22.4626 |
31.7166 |
6 |
28.549 |
22.0886 |
22.4626 |
31.7166 |
6 |
28.549 |
22.0886 |
- fraction값은 0.5로 설정해 주었으므로 입력 DataFrame의 크기의 반인 결과 DataFrame을 얻을 수 있다.
- withReplacement 값이 True이므로 random sampling을 한 결과 중복된 값이 존재 함을 알 수 있다.
- parameter는 다음과 같이 설정하였다.
val sampleSimpleRandomInfo = SampleSimpleRandomInfo.newBuilder()
.setFraction(0.5)
.setWithReplacement(true)
.setSeed(7)
.build
data1 |
data2 |
data3 |
data4 |
data5 |
83.4467 |
72.9477 |
92 |
60.6273 |
75.1917 |
47.0239 |
51.3076 |
31 |
25.807 |
36.0382 |
57.2462 |
53.9258 |
79 |
65.2266 |
66.0508 |
42.8488 |
46.1728 |
7 |
31.9797 |
28.3842 |
- fraction값은 0.5로 설정해 주었으므로 입력 DataFrame의 크기의 반인 결과 DataFrame을 얻을 수 있다.
- withReplacement 값이 False이므로 random sampling을 한 결과 중복된 값이 존재하지 않음을 알 수 있다.
- parameter는 다음과 같이 설정하였다.
val sampleSimpleRandomInfo = SampleSimpleRandomInfo.newBuilder()
.setFraction(0.5)
.setWithReplacement(false)
.setSeed(7)
.build