본문 바로가기
Project

부트캠프 / 개인 파이썬 프로젝트: #3. EDA 및 문제 정의

by yj-data 2025. 9. 8.

 이전글:

2025.08.30 - [Project] - 부트캠프 / 개인 파이썬 프로젝트: #2. 데이터 셋 정하기 & 문제 정의

 

부트캠프 / 개인 파이썬 프로젝트: #2. 데이터 셋 정하기 & 문제 정의

이전 글:2025.08.05 - [Project] - 부트캠프 / 개인프로젝트: #1. 당황스러운 서막 (공식 '머신러닝 스터디'의 시작) 부트캠프 / 개인프로젝트: #1. 당황스러운 서막 (공식 '머신러닝 스터디'의 시작)아오

yj-data.tistory.com


왜 EDA 및 '문제 정의'를 다시하는가? 

EDA를 하고 나서, 주제를 정하기로 했다. 그 이유는 이 데이터 셋이 특정한 주제/목적을 가지고 있는 데이터 셋이 아니었기 때문이다. 따라서 EDA 후 프로젝트 방향을 다시 정하기로 했다.

 

데이터셋을 살펴보자.

데이터 셋 개요

  • 많은 경우, 균일 분포에 해당했다(구간별 사용자 수가 동일). 명목형 변수에 따른 비율이 있었던 요소들은 시각화로 확인해보았다.

 

피처엔지니어링

  • 분석했던 데이터만으로는 특정한 분포나 경향을 찾기가 매우 어려워서, 변수를 하나 만들어보았다.
  • (새로 만든 변수) 주별 평균 게임 시간 = 주별 접속 횟수 X 접속 후 평균 게임 시간 (뒤 두개 변수를 곱하여 새로 변수를 만듦)
  • 그랬더니 경향이 하나 보였다.  확실히 게임 플레이 시간을 압도하는 층이 있었다.

 

 

상관 분석 / 연관성 분석: 목표변수 제외

  • 변수 간 상관분석/연관성 분석을 해보았다. (연관성 분석이라 칭하는 이유는 명목형 - 숫자형, 또는 명목-명목 사이에는 '상관'분석은 불가능하고 연관도가 얼마나 강한지를 볼 수 있기 때문이다)
  • 숫자형-숫자형 변수의 경우 .corr(), 명목형-명목형의 경우 크래머 v, 숫자형-명목형의 경우 ANOVA 분석 (범주형 데이터는 숫자로 바꾸어 분석함)
  • 결과적으로 한 가지 변수쌍이 의미있게 나왔음: 게임 난이도 - 업적개수
    • 확실히 쉬운난이도를 선호하는 유저일수록 달성한 업적개수가 높게 나왔음.

 

상관 분석 / 연관성 분석: 목표변수 포함

  • 목표 변수와 연관성이 높게 나온 결과는 새로 피처엔지니어링을 진행한 주별 평균 게임 시간만 유의하게 나왔음.

  • 참여율의 등급(낮음=0 ~ 높음=2)에 따른 '주별 평균 게임 시간'의 차이가 확연히 보임

지금까지 진행한 내용을 요약하면:

  • 목표변수를 제외한 나머지 데이터에 대한 EDA를 진행했음
    • 그 이유는, 예측해야 할 목표변수에 대한 경향성을 미리 알아채지 않고, 나머지 데이터부터 보고싶었고, 이후에 할 군집화를 했을 때, 특별히 돋보이는 변수는 무엇일지 미리 파악하고 싶었음)
  • train - val - test (70/15/15 비율)로 나눈 후, train 데이터에서 목표변수 포함 데이터에 대한 eda 진행.
    • 피처엔지니어링으로 만들어낸 변수와는 깊은 관계 목표변수와 타 변수 간 특별한 연관관계는 발견되지 않았음.

 

따라서 이에 기반한 '문제 정의'를 하자면:

  • eda 진행 시, 특별한 지점이 많이 나오지 않았기 때문에, 특별히 다른 방향으로 문제 정의를 하기가 어려웠음.
    • 따라서, 데이터 셋의 원래 목적이었던 '참여율 예측' 내용을 추가
  • 게임 데이터를 선정한 이유가,
    • 1. 내가 게임에 대한 관심이 있고, 게임에 대한 도메인 지식이 있음을 보이기 위해
    • 2. 게임 을 퍼블리싱 하는 플랫폼에 대한 지식도 있다
    • 라는 것을 보여주기 위해서 이 게임 중개 플랫폼 데이터 를 선택한 것임. 따라서, '플랫폼 운영전략 제안' 내용을 추가
  • 결론
    • 제안 내용(=문제 정의)을 '사용자 참여율 예측 기반 플랫폼 운영전략 제안'으로 정하였다.