2025.9.30-2025.10.15
서울시 자치구별 매장 폐업률 예측 및 솔루션 제공
본 프로젝트는 서울시의 실제 상권 데이터를 기반으로 자치구별 매장 폐업률을 예측하고, 예비 창업자 및 기존 매장 운영자에게 데이터 기반의 인사이트와 솔루션을 제공합니다.
최근 경기 침체 및 상권 변화로 인해 소상공인의 폐업 위험이 증가하고 있는 가운데, 본 프로젝트는 머신러닝 및 딥러닝 기법을 활용하여 폐업 위험을 사전에 예측하고, Streamlit 기반 대시보드를 통해 누구나 쉽게 접근할 수 있는 의사결정 지원 도구를 구축하는 것을 목표로 합니다.
주요 내용
- 서울시 자치구 및 업종별 폐업률 데이터 수집 및 분석
- 머신러닝과 딥러닝을 활용한 예측 모델 개발
- 사용자 맞춤형 폐업률 예측 및 시각화 제공
- Streamlit을 통한 웹 기반 대시보드 구현
대상 사용자
- 예비 창업자: 입지 선정 전, 폐업 위험도를 확인하고 전략적으로 창업 가능
- 기존 매장 운영자: 내 매장의 위험 수준을 진단하고, 경쟁력 강화 방안 탐색
- 정책 담당자 및 컨설턴트: 지역 상권 활성화를 위한 기초 자료로 활용 가능
회고
1. Feature Engineering
초기 데이터셋(점포-자치구 기준)만으로는 예측에 필요한 변수가 부족하여 모델 학습에 한계가 있어 특정 업종 중심으로 프로젝트 범위를 좁히는 방안을 검토하였다. 팀원들과 다른 데이터를 더 찾아 특성 컬럼을 추가할 수 있었다.
데이터를 정제한 후 상관관계를 시각화해보았는데 폐업률과 가장 높은 상관관계가 0.33이고 다른 컬럼들과의 상관관계도 크게 높지 않았다. 그래서 특성공학을 진행하여 여러 컬럼들을 만들었다. 비율을 계산하거나 전년도 분기 데이터를 shift로 붙여 증감율을 계산해보니 모델 성능을 더 향상할 수 있었다.
우리가 학습하는 데이터가 시계열 데이터이다 보니 아래와 같은 문제가 있을 수 있다고 생각하여 한 분기씩 밀어 데이터를 정제하였다.
모델을 각자 돌리다보니 팀원들이 EDA 한 방식이 모두 달랐고 한 팀원분이 정리해서 EDA를 진행한 데이터를 csv로 추출해주셨다. 근데 모델 성능이 더 낮아져서 시계열 데이터를 모두 지우고 특성 공학은 필요 없는 컬럼 drop만 진행하였다.
이번 프로젝트를 진행하면서 시계열, 순서가 있는 데이터에서의 문제에 대해 생각해볼 수 있었고 다음부터는 이런 데이터로 학습 시킬 경우 항상 주의해서 정제해야겠다고 생각했다.
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
- 강의 내용을 단순히 정리하는 것에서 끝내지 않고 매일 예습, 복습하기
'대외 활동 > SK네트웍스 Family AI 캠프' 카테고리의 다른 글
| [플레이데이터 SK네트웍스 Family AI 캠프 19기] EDA&ML 미니 프로젝트 회고 (0) | 2025.10.19 |
|---|---|
| [플레이데이터 SK네트웍스 Family AI 캠프 19기] 3주차 회고 (1) | 2025.09.07 |
| [플레이데이터 SK네트웍스 Family AI 캠프 19기] 1주차 회고 (1) | 2025.08.25 |