[ML Project] 국가 군집화 분석

주혜린·2023년 7월 21일
0

[ML Project]

목록 보기
3/11
post-thumbnail

프로젝트 소개

  • kaggle의 "Country Socioeconomic Data" 데이터셋을 이용해 군집화를 해보고 각 군집들이 갖고 있는 특성을 분석한다.

데이터 셋

  • country: 국가 이름
  • child_mort: 1000명당 5세 미만 아동 사망률
  • exports: 상품 및 서비스 수출. 총 GDP 대비 백분율로 표시됨
  • health: 총 건강 지출. 총 GDP 대비 백분율로 표시됨
  • imports: 상품 및 서비스 수입. 총 GDP 대비 백분율로 표시됨
  • Income: 개인 당 순소득
  • Inflation: 총 GDP의 연간 성장률 측정
  • life_expec: 현재 사망률 패턴이 지속된다고 할 때, 신생아의 평균 수명
  • total_fer: 현재의 연령별 출산율이 유지된다고 할 때, 각 여성당 출산될 아이의 수
  • gdpp: 1인당 GDP. 총 GDP를 총 인구로 나눈 값
  • region_1: 지역 구분 1
  • region_2: 지역 구분 2
  • continent: 대륙

EDA

  • 가장 먼저 결측치를 조사했는데 region_2 칼럼에만 101개의 결측치가 존재했다.
    region_2 칼럼을 살펴보니 [nan, 'Sub-Saharan Africa', 'Latin America and the Caribbean'] 이렇게 3개로 구분되어 있었다.
    먼저 'Sub-Saharan Africa'는 Africa 중에서도 North Africa를 제외한 Africa 지역들이 속해있었고,
    'Latin America and the Caribbean'는 America 중에서도 Nothern America를 제외한 America 지역들이 속해있었다.
    따라서 추가적인 결측지 처리는 해주지 않았다.

  • 상관계수 히트맵을 그려보았을때 child_mort와 life_expec, total_fer와 life_expec가 높은 음의 상관관계를 보였다.
    total_fer와 child_mort, Income와 gdpp는 높은 양의 상관관계를 갖고 있었다.

  • 대륙별로 요소들의 평균 그래프를 그려보았다.

    • child_mort: 1000명당 5세 미만 아동 사망률의 평균은 Africa가 눈에 띄게 높으며 Europe이 가장 낮았다.
    • exports: 상품 및 서비스 수출의 평균은 Europe이 가장 높았다.
    • health: 총 건강 지출의 평균은 예상외로 Asia가 가장 낮았다.
    • imports: 상품 및 서비스 수입 평균은 Oceania가 가장 높았다.
    • Income: 개인 당 순소득의 평균은 Europe이 가장 높았고 Africa가 가장 낮았다.
    • Inflation: 총 GDP의 연간 성장률 평균을 보면 North America와 South America의 차이가 큰 것을 볼 수 있다.
    • life_expec: 현재 사망률 패턴이 지속된다고 할 때, 신생아의 평균 수명은 의외로 대륙별 큰 차이가 있지 않았다.
    • total_fer: 현재의 연령별 출산율이 유지된다고 할 때, 각 여성당 출산될 아이의 수는 Africa가 가장 컸고, Europe이 가장 낮았다.
    • gdpp: 1인당 GDP 평균은 Europe이 가장 높고, Africa 가장 낮았다.

    이때 Africa와 Europe이 가장 큰 상반된 결과를 보인 항목은 [child_mort, Income, total_fer, gdpp] 였으며 어느정도 예상 가능했던 결과였다.

군집화

[클러스터 찾기]

  • 댄드로그램: ["child_mort", "exports", "imports", "income", "inflation", "total_fer", "gdpp"] 항목들을 넣어 댄드로그램을 그려보았다.
    각각 다른 색으로 선을 그려보았을 때, 댄드로그램을 기준으로 클러스터 개수를 정한다면 2-4개로 하는 것이 좋을 것 같았다.

  • 실루엣 계수: 실루엣 계수는 클러스터링 모델의 성능을 측정할 수 있는 지표 중 하나로 특정 클러스터 내의 데이터 샘플이 다른 클러스터 대비, 자체 클러스터와 얼마나 유사한 지를 계산한 것입니다.
    보다 정확한 클러스터를 찾기 위해 클러스터의 개수를 변경하며 실루엣 계수를 확인했다.
    실루엣 계수가 1에 가까울수록 군집화가 효과적으로 되었다는 것을 의미한다.
    따라서 클러스터 개수 2개로 군집화를 진행해보았다.

  • 인덱스의 비율을 파이차트로 그려보았을 때 [label 0]이 23.35%, [label 1]이 76.65%였다.

  • 각 라벨에 속하는 대륙은 아래와 같았다. Africa와 South America 대륙은 모두 label 0에 속했다.
[label 0][label 1]
  • EDA시에 Europe와 Africa가 가장 극명한 차이를 보여줬던 항목인 [child_mort, Income, total_fer, gdpp]의 바이올린 그래프를 그려보았다.

    • gdpp: 로그를 취해준 gdpp 바이올린 그래프를 보면 확연하게 label 0인 그룹과 label 1인 그룹이 나뉜것을 볼 수 있다.

    • child_mort: 로그를 취해준 바이올린 그래프를 보면 대부분의 label1 그래프는 아래쪽에 위치해있었다.

    • total_fer: 로그를 취해준 바이올린 그래프에서 역시 label1 그룹은 아래쪽에 위치해있다.

    • Income: 로그를 취해준 바이올린 그래프에서 gdpp 그래프와 유사한 양상을 보였다.

Insight

  • 실제로 아래의 label 1에 속한 국가들을 보면 대부분 선진국으로 알려진 국가들임을 알 수 있다. 특히 50% 이상이 유럽 국가인 점이 그렇다.

  • 하지만 Asia 국가들 중 GDP가 높은 편에 속하는 한국이 label 1에 빠져 있는 것에 의문을 갖고 "Japan", "Kuwait", "Qatar"와 비교해 보았다.
    먼저 "Japan"와 비교해보았을때 크게 차이가 나는 항목이 수출, 수입, gdpp였다. 이는 스케일링 과정을 거치지 않아서 상대적으로 데이터 값의 크기가 큰 gdpp의 영향을 받은 것으로 보인다.
    또한 "Kuwait", "Qatar"와 비교해보았을 때고 스케일링 과정을 거치지 않고 군집화를 진행했기 때문에 상대적으로 데이터 값의 크기가 큰 income의 영향을 받은 결과인것 같다.
    스케일링을 진행한 후에 분석을 했더라면 더 정확한 결과를 얻을 수 있었을 것 같아 개선해야할 부분이라고 생각했다.

profile
💻🐜💡

0개의 댓글