본문 바로가기
DataScience/Dacon

인구 데이터 기반 소득 예측 경진대회 - EDA

by mkk4726 2022. 4. 24.

소득예측경진대회 (1).ipynb
0.95MB

* JupyterNotebook에서 작성되었습니다.

Dacon 인구 데이터 기반 소득 예측 경진대회

Dacon basic에 인구 데이터 기반 소득 예측 경진대회가 열렸다.

소득 수준이 50k보다 높은지 낮은지를 예측하는 이진분류 문제다. 

그림1. 데이터 정보

모델링에 앞서 데이터를 탐색하고 이해하는 과정인 탐색적 데이터 분석 과정을 진행했다.

그림2. 데이터 형태 확인

학습데이터는 17480개, 테스트데이터는 15081개로 충분히 큰 데이터를 가지고 있어서 다양한 알고리즘을 적용할 수 있다.

그림3. 결측치 확인

학습 데이터에는 workclass와 occupation, native.country에 결측치가 있어 처리할 필요가 있다.

그림4. target 비율 확인

그 다음으로 target 구성 비율을 확인해보니 0이 1에 비해 3배정도 더 많았다.

추후에 SMOTE와 같은 오버샘플링을 통해 비율을 조정할 필요가 있겠다.

그림5. 데이터 타입 확인

데이터 타입을 확인해보니 object형과 int형이 섞여있음을 알 수 있다.

object는 seaborn의 countplot을 통해 target값에 대한 영향을 확인해봤다.

그림6. 비율차이 제거

시각화에 앞서 0과 1의 차이를 보기 위해서 비율차이를 없애줬다. 단순히 1인 값을 2번 더해줬다.

그림6. seaborn countplot

seaborn의 countplot을 통해 0과 1에 따른 비율을 확인해봤다.

먼저 workclass(일 유형)과 education(교육수준)에 따른 target차이를 살펴봤다.

workclass의 경우 private의 경우 0의 비율이 더 높았고 self-emp-inc(자영엽?)와 federal-gov(미국연방정부)에서는 1의 비율이 더 높았다. 큰 차이를 보이지는 않는 것 같다.

education의 경우 Masters(석사)는 1의 비율이 월등히 높았고 HS-grad(고졸)는 0의 비율이 월등히 높았다.

충분히 직관적인 결과다. 이 외에도 교육수준에 따른 소득수준 차이가 분명히 보인다. 

그 다음으로 martial status(결혼상태)와 occupation(직업)에 대해서 살펴봤다.

martial status의 경우 결혼했을 때가 1의 비율의 월등히 높았고 나머지의 경우는 0의 비율이 높았다. 충분히 유의미해보인다.

occupation의 경우 직업이 어떤건지 잘 모르겠지만 직업간에 차이가 충분히 보인다.

relationship의 경우 특이하게 husband일 때 1의 비율이 높았다. 남편이 되면 돈이 많아지는 것은 아닐테고 돈이 많은 사람이 남편이 되더라 정도로 이해하는게 맞는 것 같다. 비슷하게 wife도 1의 비율이 높았는데, 같은 이유일 것 같다.

이 이유가 맞다면 unmarried가 0이 높은 이유도 설명이 된다. 

특이하게 own-child의 경우 0의 비율이 높았는데, 이유를 잘 모르겠다. 다른 것들도 이유를 잘 모르겠다.

다만 차이가 분명히 보이니 유의미한 칼럼이 될 것 같다.

race의 경우 흑인일 때 0의 비율이 높았다. 이는 직관에 부합하는 결과다. 백인의 경우 큰 차이를 보이지는 않았다.

이 칼럼의 경우 큰 차이를 보이지는 않아 유의미한지는 잘 모르겠다.   

마지막으로 sex(성별)과 native country(본 국적)에 따른 차이를 살펴봤다.

sex의 경우 남자가 여자보다 1의 비율이 더 높았다. 차이가 보인다.

native country의 경우 US가 대부분이라 나중에 빼야겠다고 생각했다.

 

그 다음으로 수치형 데이터와 target값의 관계를 살펴봤다.

 

그림7. 평균차이 확인

이진분류이기에 상관관계를 살펴보기는 어려워 target값에 따른 평균 차이를 살펴봤다. 

값마다 scale이 달라 어떤게 차이가 나는지 확인이 어려워 seaborn의 box plot을 이용해서 시각화했다.

그림8. 수치형 데이터 시각화

유의미한 차이를 보이는 칼럼은 age(나이), education num(교육수준번호), hours per week(주당 근무시간) 이다.

3가지 모두 직관에 부합하는 결과로, 나이가 많고 더 많은 교육을 받고 주당 더 많이 일할수록 소득이 높을 것이라 예상할 수 있다. 

 


이렇게 EDA를 마쳤다.

이러한 결과를 바탕으로 Modeling을 진행할 계획이다.

'DataScience > Dacon' 카테고리의 다른 글

인구 데이터 기반 소득 예측 경진대회 - 전처리  (0) 2022.04.26

댓글