군집 표본추출

Python으로 설문 데이터 분석하기

EbunOluwa Andrew

Data Scientist

군집 표본추출이란?

  • 전체 모집단을 여러 하위집단으로 나눕니다

    • 하위집단은 모집단과 유사한 특성을 가집니다
  • 모집단 -> 군집

  • 개별을 표집하지 않고, 무작위로 하위집단 전체를 선택합니다

사람들로 구성된 원형 차트

Python으로 설문 데이터 분석하기

군집 표본추출이 중요한 이유

  • 전체 모집단의 데이터를 항상 수집할 수는 없습니다
  • 큰 모집단으로 인한 오차를 줄입니다

과밀

Python으로 설문 데이터 분석하기

군집 표본추출 절차

  • 먼저, 모집단을 군집으로 나눕니다
  • 다음으로, 이 군집을 무작위로 선택합니다

사람들의 군집

Python으로 설문 데이터 분석하기

표본 데이터셋

print(mh_survey)
| gender | sought_treatment | country_work             |
|--------|------------------|--------------------------|
| Male   |                0 | United Kingdom           |
| Male   |                1 | United States of America |
| Male   |                1 | United Kingdom           |
| Male   |                1 | United Kingdom           |
| Female |                1 | United States of America |
| Male   |                1 | United Kingdom           |
| Male   |                0 | United States of America |
...
Python으로 설문 데이터 분석하기

표본 데이터셋과 그래프

mh_survey.groupby('country_work')[
  'gender'].count()
groups = mh_survey.groupby(
  'country_work')['gender'].count(
).reset_index()
groups.columns=['country_work','count']

groups.plot.bar(x='country_work',
                y='count')

기술 종사자의 거주지 막대그래프

1 _공간 제약으로 일부 데이터만 표시됨_
Python으로 설문 데이터 분석하기

군집 선택

unique_countries = list(set(mh_survey.country_work))

random_clusters = np.random.choice(unique_countries, size = 10, replace = False)

print(random_clusters)
array(['Finland', 'Australia', 'Sweden', 'South Africa', 'Pakistan',
       'France', 'Ecuador', 'United Arab Emirates', 'United Kingdom',
       'Bangladesh'], dtype='<U24')
Python으로 설문 데이터 분석하기

군집 표본 생성

cluster_sample = mh_survey[mh_survey.country_work.isin(random_clusters)]
print(cluster_sample.head())
| gender | sought_treatment | US_state_live        |
|--------|------------------|----------------------|
| Male   |                1 |             Pakistan |
| Male   |                1 |             Pakistan |
| Male   |                1 | United Arab Emirates |
| Male   |                1 |             Pakistan |
| Female |                0 |           Bangladesh |
Python으로 설문 데이터 분석하기

군집 표본 그래프화

treatment_pie = cluster_sample.sought_treatment.value_counts(normalize = True)
treatment_pie.plot.pie()

sought_treatment의 원형 그래프

Python으로 설문 데이터 분석하기

군집 표본 그래프화

array(['Bangladesh', 'South Africa', 'Other', 'Norway', 'Poland',
       'Romania', 'New Zealand', 'France', 'United States of America',
       'Bulgaria'], dtype='<U24')

sought_treatment의 원형 그래프

Python으로 설문 데이터 분석하기

Ayo berlatih!

Python으로 설문 데이터 분석하기

Preparing Video For Download...