[내배캠] 데이터분석 6기/프로젝트 기록

[본캠프 58일차] 부록: [chap 4] 실전 프로젝트 준비①

물맨두 2025. 5. 12. 22:51

 

 

 

주제를 헬스케어로 정함에 따라 오늘은 주어진 데이터셋을 살펴보며 데이터를 파악했다.

 

(출처: 캐글 "Regression with an Insurance Dataset" 데이터셋 설명)

해당 데이터셋은 2024 캐클 플레이그라운드 대회에서 '보험료(insurance premium) 예측하기'를 주제로 주어진 데이터셋이다. 

 

파일을 보면 학습용 데이터(train.csv)와 검증용 데이터(test.csv) 2가지가 있다. 학습용 데이터와 검증용 데이터의 차이는 해당 데이터셋이 보험료 예측을 주제로 주어진 데이터셋이라 검증용 데이터에는 예측해야 할 목표인 Premium Amount(보험료) 컬럼이 없다.

그래서 이번 실전 프로젝트에선 메인 튜터님의 조언대로 머신러닝 모델을 개발하는 작업은 제외하고 태블로로 대시보드는 설계하고 구현하는 데 집중하기로 택한 우리 조에겐 검증용 데이터는 자연스럽게 제외하고 학습용 데이터로 작업하게 됐다.

 

그리고 데이터셋에 대한 설명을 보면, 주어진 데이터셋이 "Insurance Premium Prediction"이란 글에서 제공한 데이터를 대회를 위해 딥러닝 모델로 생성한 데이터셋이어서 분포는 무척 흡사할지라도 원본과 똑같지 않음을 밝히고 있었다. 

(출처: 캐글 "Insurance Premium Prediction" 데이터셋의 README 미리보기)

그래서 원본 데이터셋의 페이지로 넘어가 확인해보니 이곳에는 컬럼 설명도 기재돼 있어서 참고하며 데이터를 보고 있었다.

 


 

 

 

Insurance Premium Prediction

Real-World Challenges Simulated: A Dataset for Insurance Analytics

www.kaggle.com

점심시간에 튜터님께서 해당 주제를 잡은 팀들을 대상으로 안내해주셨는데, 데이터를 대회용 데이터셋이 아닌 원본 데이터로 진행하는 것이 이번 프로젝트 주제(대시보드 설계 및 구축)에 부합하기에 변경하신다는 내용이었다.

 

그래서 변경된 데이터셋으로 다시 데이터의 기본적인 형태를 확인해봤다.

사실 위에서도 밝혔듯이 대회용 데이터도 원본 데이터의 분포를 유지하고 있기에 데이터 크기가 좀 작아지긴 했으나 데이터 컬럼이나 결측치 분포는 크게 다를 게 없었다.

 

컬럼별로 결측치 비중을 따졌을 때에 0 ~ 29% 정도밖에 안 되길래 .dropna() 메서드로 결측치를 제거하기로 했다. 그러나 결측치가 있는 행을 일괄 제거하게 되면 처음 데이터셋에서 무려 70%(278,860행 → 92,985행) 가까이 데이터가 손실됐다. 

결측치 히트맵으로 컬럼 간 결측치 상관관계를 확인해보면 모든 컬럼의 결측치가 특별한 상관관계 없이 제각각 발생하고 있음을 확인할 수 있다.

 

현재 결측치가 있는 컬럼은 총 10개다. 그런데...

 


 

 

Health Insurance Cross Sell Prediction 🏠 🏥

Predict Health Insurance Owners' who will be interested in Vehicle Insurance

www.kaggle.com

데이터셋이 한 번 더 변경된다.

사실 이전 데이터셋은 제각각 흩어져 있는 결측치들을 보며 어떻게 전처리해야 하지 살짝 아득해지고 있던 터라 다시 한 번 데이터가 변경된다고 그렇게 싫진 않았다. 

 

이번에 데이터셋이 변경되고 나서 주제 담당 튜터님께도 찾아가고, 또 조원들과도 다시 얘기해 본 결과 이 데이터셋으로 그대로 가기로 하고 데이터를 살펴봤다.

 

(출처: 캐글 "Health Insurance Cross Sell Prediction"의 데이터 소개 중)

해당 데이터셋은 원래는 Response 컬럼을 종속 변수로 두어 분류 모델을 개발할 것을 요구하는 데이터셋이다. 해당 보험사는 고객들에게 건강 보험을 판매해 왔는데, 자사 고객들이 자동차 보험에도 관심을 보일지 예측하고자 한다. 

 

그래서 이 설명으로 보면서,

  • 내가 이 보험사의 직원이고
    • 자사는 건강 보험을 주력으로 판매해왔음
    • 이번에 자사의 상품 포트폴리오를 확장하면서 자동차 보험 상품을 새롭게 출시하게 됨
  • 자사 고객들이 자동차 보험에 관심을 보이는지에 대한 답변을 받아서
    • (전화가 됐든, 자사 웹/앱을 통해 설문조사를 진행했든)
      자동차 보험 상품에도 관심이 있는지 물어봐서 네/아니오로 답변을 받음
  • 그 답변과 해당 고객의 정보를 바탕으로 이뤄진 데이터셋을 분석해
  • 답변에 따른 고객의 특성을 잘 보여줄 수 있는 대시보드는 구축하고
  • 그 특성에 따른 타겟 마케팅 전략까지 제시하는

이런 흐름으로 프로젝트의 스토리 라인을 세워볼 수 있겠다고 생각했다.

 

그리고서 데이터 EDA를 하기 시작했다.

 

이번 데이터셋은 컬럼은 12개, 행은 381,109행이다. 컬럼 수가 거의 절반 가까이 줄었으나 이번에는 결측치가 하나도 없다!