단순 무작위 표본 추출과 체계적 표본 추출

Python으로 살펴보는 표본추출(Sampling)

James Chapman

Curriculum Manager, DataCamp

단순 무작위 표본 추출

추첨 항아리에서 접힌 종이를 꺼내는 손.

굴러다니는 복권 공들.

Python으로 살펴보는 표본추출(Sampling)

커피의 단순 무작위 표본 추출

행과 열로 배열된 커피 원두.

일부가 회색으로 표시된 행과 열로 배열된 커피 원두.

Python으로 살펴보는 표본추출(Sampling)

pandas를 이용한 단순 무작위 표본 추출

coffee_ratings.sample(n=5, random_state=19000113)
     total_cup_points         variety country_of_origin  aroma  flavor  \
437             83.25            None          Colombia   7.92    7.75   
285             83.83  Yellow Bourbon            Brazil   7.92    7.50   
784             82.08            None          Colombia   7.50    7.42   
648             82.58         Caturra          Colombia   7.58    7.50   
155             84.58         Caturra          Colombia   7.42    7.67  

     aftertaste  body  balance  
437        7.25  7.83     7.58  
285        7.33  8.17     7.50  
784        7.42  7.67     7.42  
648        7.42  7.67     7.42  
155        7.75  8.08     7.83 
Python으로 살펴보는 표본추출(Sampling)

체계적 표본 추출

행과 열로 배열된 커피 원두.

대각선 방향으로 일부만 남기고 대부분 회색으로 표시된 행과 열로 배열된 커피 원두.

Python으로 살펴보는 표본추출(Sampling)

체계적 표본 추출 - 간격 정의

sample_size = 5

pop_size = len(coffee_ratings)
print(pop_size)
1338
interval = pop_size // sample_size

print(interval)
267
Python으로 살펴보는 표본추출(Sampling)

체계적 표본 추출 - 행 선택

coffee_ratings.iloc[::interval]
      total_cup_points  variety country_of_origin  aroma  flavor  aftertaste  \
0                90.58     None          Ethiopia   8.67    8.83        8.67   
267              83.92     None          Colombia   7.83    7.75        7.58   
534              82.92  Bourbon       El Salvador   7.50    7.50        7.75   
801              82.00   Typica            Taiwan   7.33    7.50        7.17   
1068             80.50    Other            Taiwan   7.17    7.17        7.17   

      body  balance  
0     8.50     8.42  
267   7.75     7.75  
534   7.92     7.83  
801   7.50     7.33  
1068  7.17     7.25  
Python으로 살펴보는 표본추출(Sampling)

체계적 표본 추출의 주의점

coffee_ratings_with_id = coffee_ratings.reset_index()
coffee_ratings_with_id.plot(x="index", y="aftertaste", kind="scatter")
plt.show()

여운 점수와 인덱스의 산점도.

산점도에서 패턴이 보이지 않을 때만 체계적 표본 추출이 안전합니다

Python으로 살펴보는 표본추출(Sampling)

체계적 표본 추출을 안전하게 사용하기

shuffled = coffee_ratings.sample(frac=1)

shuffled = shuffled.reset_index(drop=True).reset_index()
shuffled.plot(x="index", y="aftertaste", kind="scatter") plt.show()

데이터셋을 섞은 후 여운 점수와 인덱스의 산점도.

행 섞기 + 체계적 표본 추출은 단순 무작위 표본 추출과 동일합니다

Python으로 살펴보는 표본추출(Sampling)

연습해 봅시다!

Python으로 살펴보는 표본추출(Sampling)

Preparing Video For Download...