[편의점 매출 예측] Streamlit 페이지 구현 1. 페이지 설명 및 구현 순서
Streamlit 페이지 구현 1. 페이지 설명 및 구현 순서
1. Streamlit 구현 페이지
Home
This app was built in Streamlit! Check it out and visit https://streamlit.io for more awesome community apps. 🎈
procspredictor.streamlit.app
2. Streamlit 구현 페이지 상세
┣ 📂pages
┃ ┣ 📜main_page.py # 메인 페이지
┃ ┗ 📜sub_page.py # 서브 페이지
┣ 📜Home.py # 첫 페이지
Home Page > 서비스 안내 등 main page, sub page 이용 방법을 안내하는 페이지이다.
Main Page > map 에서 원하는 상권을 확인 후, Side Bar 에서 상권과 분기를 선택하면 시간대별 매출 예측 그래프가 나타난다.
Sub Page > Side Bar 에서 상권, 시간대, 분기를 선택 후, 세부 피쳐를 조정하면, 상황에 맞춰 변화된 매출 예측 결과가 나타난다.
3. Streamlit 주요 아키텍쳐
Streamlit
┣ 📂data
┣ 📂models
┃ ┣ 📜gm_model.pkl # 모델 pkl
┃ ┗ 📜ngm_model.pkl # 모델 pkl
┣ 📂pages
┃ ┣ 📜main_page.py # 메인 페이지
┃ ┗ 📜sub_page.py # 서브 페이지
┣ 📜Home.py # 첫 페이지
┣ 📜models_gol.py # 골목상권 모델
┣ 📜models_ngol.py # 비골목상권 모델
┗ 📜requirements.txt
data : png, csv 파일
models : 모델 pkl 파일(메인 models_gol.py, models_ngol.py에서 생성)
Pages : main page, subpage 각각 페이지 py 파일
Home.py : 링크 접속 시, 첫 페이지 코드
4. 구현 순서도
0. github repository 생성 후 Local 과 연결
1. 모델을 pkl 형태로 저장
> models_gol.py, models_ngol.py 에서 각각 진행
> models 폴더에 gm_model.pkl,과 ngm_model.pkl 이 저장됨
2. Pages 의 sub_page, main_page 코드 작성
> (공통) 상권 별 골목/비골목 개별 모델 적용 코드
> (main_page) 개별 모델 적용 후, (기본값: 가장 최신 데이터) 기준 시간대별 매출 예측 시각화 그래프 구현
> (sub_page) 개별 모델 적용 이후, 피쳐 별 slider로 조절 기능 추가 및 예측(기본값: 가장 최신 데이터)
3. Home.py 작성
> 페이지 소개 작성
> pages 를 연결하는 코드 작성
4. requirements 점검
5. 배포
자세한 코드는 깃허브 주소를 참고(https://github.com/sin09135/MiniPJT)