본문 바로가기

Data Science/Data Preprocessing

[04. Feature Sampling] 001. Simple Random Sampling

728x90

모델의 성능을 테스트하기 위해서는 데이터를 확보해야 한다. 즉, 표본을 추출해야 한다. 빅데이터 시대에 모든 데이터를 다 사용할 수도 있지만 비용이 많이 들기 때문에 좋은 방법은 아니다.

 

표본의 추출 방법 중 하나인 동일한 확률로 뽑는 단순확률추출(Simple Random Sampling)에 알아보자. 여기에는 복원추출(Sampling with replacement)과 비복원추출(Sampling without replacement)이 있다.

 

복원추출은 중복을 허용하고 추출하는 방법이고 비복원추출은 중복을 허용하지 않는 방법이다.

import pandas as pd

if __name__ == '__main__':
    data = [{'이름': '영수', '분야': '언어', '국어': 100, '영어': 90, '수학': 50, '과학': 45, '중국어': 92},
            {'이름': '철수', '분야': '언어', '국어': 98, '영어': 99, '수학': 30, '과학': 46, '중국어': 82},
            {'이름': '미혜', '분야': '수리', '국어': 20, '영어': 30, '수학': 99, '과학': 99, '중국어': 42},
            {'이름': '영이', '분야': '수리', '국어': 40, '영어': 50, '수학': 80, '과학': 85, '중국어': 62},
            {'이름': '영구', '분야': '언어', '국어': 70, '영어': 90, '수학': 40, '과학': 65, '중국어': 99},
            {'이름': '구희', '분야': '융합', '국어': 90, '영어': 96, '수학': 60, '과학': 85, '중국어': 100},
            {'이름': '지혜', '분야': '융합', '국어': 99, '영어': 92, '수학': 80, '과학': 75, '중국어': 82},
            {'이름': '미영', '분야': '융합', '국어': 98, '영어': 90, '수학': 99, '과학': 100, '중국어': 82},
            {'이름': '영미', '분야': '수리', '국어': 42, '영어': 40, '수학': 98, '과학': 88, '중국어': 17},
            {'이름': '수환', '분야': '수리', '국어': 33, '영어': 10, '수학': 99, '과학': 89, '중국어': 22}]

    data = pd.DataFrame(data)
    data = data[['이름', '분야', '국어', '영어', '수학', '과학', '중국어']]

    # 비복원추출
    print(data.sample(n=3))

    # 복원추출
    print(data.sample(n=20, replace=True))


결과 값
   이름 분야 국어 영어 수학 과학 중국어
3  영이  수리  40   50  80  85  62 
0  영수  언어  100  90  50  45  92 
5  구희  융합  90   96  60  85  100

   이름 분야 국어 영어 수학 과학 중국어
7  미영  융합  98   90  99  100  82 
6  지혜  융합  99   92  80  75   82 
1  철수  언어  98   99  30  46   82 
1  철수  언어  98   99  30  46   82 
9  수환  수리  33   10  99  89   22 
9  수환  수리  33   10  99  89   22 
7  미영  융합  98   90  99  100  82 
7  미영  융합  98   90  99  100  82 
7  미영  융합  98   90  99  100  82 
8  영미  수리  42   40  98  88   17 
6  지혜  융합  99   92  80  75   82 
7  미영  융합  98   90  99  100  82 
1  철수  언어  98   99  30  46   82 
1  철수  언어  98   99  30  46   82 
7  미영  융합  98   90  99  100  82 
6  지혜  융합  99   92  80  75   82 
7  미영  융합  98   90  99  100  82 
5  구희  융합  90   96  60  85   100
0  영수  언어  100  90  50  45   92 
2  미혜  수리  20   30  99  99   42

 

728x90