대외 활동/SK네트웍스 Family AI 캠프

[플레이데이터 SK네트웍스 Family AI 캠프 19기] 2차 프로젝트 회고

ansui 2025. 10. 19. 20:53

2025.9.30-2025.10.15

서울시 자치구별 매장 폐업률 예측 및 솔루션 제공

본 프로젝트는 서울시의 실제 상권 데이터를 기반으로 자치구별 매장 폐업률을 예측하고, 예비 창업자 및 기존 매장 운영자에게 데이터 기반의 인사이트와 솔루션을 제공합니다.

최근 경기 침체 및 상권 변화로 인해 소상공인의 폐업 위험이 증가하고 있는 가운데, 본 프로젝트는 머신러닝 및 딥러닝 기법을 활용하여 폐업 위험을 사전에 예측하고, Streamlit 기반 대시보드를 통해 누구나 쉽게 접근할 수 있는 의사결정 지원 도구를 구축하는 것을 목표로 합니다.

 

주요 내용

  • 서울시 자치구 및 업종별 폐업률 데이터 수집 및 분석
  • 머신러닝과 딥러닝을 활용한 예측 모델 개발
  • 사용자 맞춤형 폐업률 예측 및 시각화 제공
  • Streamlit을 통한 웹 기반 대시보드 구현

대상 사용자

  • 예비 창업자: 입지 선정 전, 폐업 위험도를 확인하고 전략적으로 창업 가능
  • 기존 매장 운영자: 내 매장의 위험 수준을 진단하고, 경쟁력 강화 방안 탐색
  • 정책 담당자 및 컨설턴트: 지역 상권 활성화를 위한 기초 자료로 활용 가능

회고

1. Feature Engineering

초기 데이터셋(점포-자치구 기준)만으로는 예측에 필요한 변수가 부족하여 모델 학습에 한계가 있어 특정 업종 중심으로 프로젝트 범위를 좁히는 방안을 검토하였다. 팀원들과 다른 데이터를 더 찾아 특성 컬럼을 추가할 수 있었다.

데이터를 정제한 후 상관관계를 시각화해보았는데 폐업률과 가장 높은 상관관계가 0.33이고 다른 컬럼들과의 상관관계도 크게 높지 않았다. 그래서 특성공학을 진행하여 여러 컬럼들을 만들었다. 비율을 계산하거나 전년도 분기 데이터를 shift로 붙여 증감율을 계산해보니 모델 성능을 더 향상할 수 있었다.

우리가 학습하는 데이터가 시계열 데이터이다 보니 아래와 같은 문제가 있을 수 있다고 생각하여 한 분기씩 밀어 데이터를 정제하였다.

모델을 각자 돌리다보니 팀원들이 EDA 한 방식이 모두 달랐고 한 팀원분이 정리해서 EDA를 진행한 데이터를 csv로 추출해주셨다. 근데 모델 성능이 더 낮아져서 시계열 데이터를 모두 지우고 특성 공학은 필요 없는 컬럼 drop만 진행하였다.

이번 프로젝트를 진행하면서 시계열, 순서가 있는 데이터에서의 문제에 대해 생각해볼 수 있었고 다음부터는 이런 데이터로 학습 시킬 경우 항상 주의해서 정제해야겠다고 생각했다.

참고 링크: https://www.notion.so/2-253c12bfb41e8072b729d15588abfd99?source=copy_link#28dc12bfb41e80f2ac43fb2e5ff6e1a3

 

2. ML

Xgboost regressor를 사용하여 accuracy를 평가하였다. 특성공학을 최대한 진행하고 GridSearchCV로 하이퍼파라미터 튜닝으로 최적의 모델을 찾았지만 평가 결과가 아래처럼 낮게 나왔다.

MSE: 2.1888471109656424 / RMSE: 1.4794752823097932 MAE: 1.0451561952187602 / R2-score: 0.4344308094003846

팀원들이 각각 돌린 모델 전부 성능이 낮게 나와 폐업률 상위 25%(3.6% 이상)를 ‘위험’, 나머지를 ‘안정’으로 정의하여 이진분류 모델을 적용하였다. 그 결과 분류 모델의 Accuracy, F1-score 모두 유의미하게 향상하였다. 회귀 모델로 학습을 시켰을 때는 2.1% vs 2.3%도 오차로 처리되지만, 분류에서는 둘 다 ‘안정’으로 묶여서 불필요한 오차가 제거되었고 모델의 안정성과 일반화 성능이 향상될 수 있었다.

 

3. 전체

미니프로젝트를 한번 진행하고 2차 프로젝트를 하니 EDA나 모델 학습 과정에서의 협업이 더 수월했던 것 같다. XGBoost로 모델을 학습시키면서 Optuna를 활용한 하이퍼파라미터 최적화, SMOTE를 통한 데이터 불균형 처리 등을 적용하여 성능을 개선해보는 경험을 할 수 있었다. 여러 번의 회의와 실험을 통해 팀원들과 아이디어를 공유하며 예상치 못한 문제들을 함께 해결하는 경험이 의미 있었다.

 

팀 프로젝트 깃허브 링크

https://github.com/SKNetworks-AI19-250818/SKN19_2nd_1team


Keep

  • 매일 강의 내용을 노션에 정리하였다.
  • 파이썬 기초 문법을 다시 점검하면서 놓쳤던 개념을 보완할 수 있었다.
  • 지각, 조퇴, 결석을 하지 않았다.

Problem

  • 피곤한 상태에서 수업을 듣다 보니, 집중력이 떨어지는 순간이 있었다.

Try

  • 강의 내용을 단순히 정리하는 것에서 끝내지 않고 매일 예습, 복습하기