[TIL] Sampling

1398 단어 numpypythonnumpy

Sampling

Sampling이란 데이터 분석을 위해 일부 데이터를 가져오는 것을 Sampling(추출)이라고 한다. 샘플링에는 Random Sampling이 있는데 이는 인위적인 편향을 방지하기 위해 아무렇게나 가져오는 것을 Random Sampling(임의 추출)이라고 한다.

Sampling에는 총 4가지 방법이 있고, 오늘 내가 찾아본 부분은 그 4가지 중 Simple Random Sampling과 Systematic Sampling이다. 이 외에도 Cluster Sampling, Stratified Random Sampling이 있다

Simple Random Sampling

모집단에서 Sampling을 무작위로 하는 방법이다.
DataFrame.sample()을 통해서 무작위로 표본을 추출할 수 있다.
나는 도전과제 진행을 위해서 Numpy로 array를 생성한 뒤, 그 array를 가지고 진행해서 sample 메소드를 사용하지는 않았다.

# np.random.choice(data, size)

simple_sampling = np.random.choice(df, 5)

위의 코드를 실행하게 되면 simple_sampling 변수에 df에 들어있는 값 중 5개가 무작위로 선택 된 값들이 choice 메소드를 통해서 담기게 된다.

Systematic Sampling

Systematic의 뜻은 조직적인, 계획적인 이라는 뜻을 가지고 있는 단어로 모집단에서 Sampling을 할 때 규칙을 가지고 추출하는 방법이다.

array의 경우 Dataframe으로 변환해서 진행하는 것이 편해보여서 나는 임의로 Dataframe으로 변환해서 과제를 진행했다.

def sys_sampling(df, step):
	indexes = np.arange(0, len(df), step = step)
    sys_sample = df.iloc[indexes]
    return sys_sample
    
systematic_sample = sys_sampling(df, 3)

위의 코드처럼 sampling을 위한 함수를 만들어서 사용하면 쉽고 빠르게 사용할 수 있어서 편리하다

좋은 웹페이지 즐겨찾기