세조목

최종 프로젝트 28일차(24.04.25) 본문

데이터 분석 공부/프로젝트

최종 프로젝트 28일차(24.04.25)

세조목 2024. 4. 25. 22:39

최종 프로젝트 28일차입니다.

금일은 Streamlit 배포와 PPT 자료 제작을 진행했습니다.

 

Streamlit 배포

streamlit은 원래 오늘 배포할 계획이 아니었습니다.

아직 추가해야 할 부분이 남아있기 때문인데요,

갑자기 든 생각이 하나 있었습니다.

'우리가 제작한 서비스를 다른 수강생들과 튜터님들께 써보게끔 한 다음 피드백을 받고,

그 결과를 발표에 포함시키면 어떨까?'

완성도 높은 결과물은 아니어서 자신있게 선보일 수는 없었지만

그렇게 했다는 것만으로도 적극성을 가지고 프로젝트에 임했다는 것으로

회사 면접 때 적극성을 어필할 수 있을 것이라고 생각했습니다.

 

감사하게도 다른 팀원들도 의견에 동의해주었고,

곧바로 streamlit 배포 작업에 들어갔습니다.

배포 프로세스는 간단합니다.

이렇게 깃 레포지토리에 필요한 파일들을 업로드해놓기만 하면 됩니다.

 

그런 다음 streamlit share 페이지에 접속하여 New app을 클릭한 다음

'Deploy an app' 페이지 빈칸을 주고, 맨 하단에 있는 'Deploy!' 버튼을 클릭해주기만 하면 됩니다.

 

그런데 저는 한 번에 성공하지 못했습니다.

몇 가지 문제가 있었는데요,

  1. python 버전 설정 오류
  2. py 파일 내 csv 경로 설정
  3. requirements.txt 파일 

 

1. python 버전 설정 오류

먼저 python 버전 설정 오류입니다.

앞서 'Deploy an app' 페이지에서 빈 칸을 채우고 'Deploy!' 버튼을 클릭하면 된다고 말씀드렸습니다.

이 때 'Advanced settings...'라는 파란색 글자가 하나 있습니다.

파란색 글자를 누르면 위 오른쪽 이미지에서와같이 versrion을 선택할 수 있습니다.

여기서 본인이 사용하는 python 버전을 선택해주어야합니다.

 

2. py 파일 내 csv 경로 설정

제가 작성한 코드는 csv파일에서 불러온 데이터를 가지고서 서비스를 제공하는 코드입니다.

그래서 깃 레포에 csv파일도 함께 올려놨는데요,

로컬 경로를 적어놓은 py 파일을 깃 레포에 올려놓으니 배포 단계에서 계속 오류가 발생했습니다.

그래서 csv파일 경로가 py 파일에 적혀있다면 꼭 경로를 '깃 경로'로 변경해주어야합니다. 

저의 경우 streamlit 폴더에 csv파일이 들어있기 때문에

streamlit/streamlit_mode.csv로 변경해주었습니다.

 

3. requirements.txt

만약 코드를 작성할 때 라이브러리를 import해서 사용했다면

'requirements'라는 이름의 메모장 파일을 꼭 py파일이 들어있는 경로에 함께 넣어줘야합니다.

마치 우리가 설치 파일을 다운로드받을 때 폴더 안에 'readme.txt'가 함께 들어있는 것과 같은 이유이지 않을까 싶습니다.

'이 py 파일 사용하려면 requirements에 적혀있는 라이브러리 꼭 설치해야돼!'라고 알려주는 것 같습니다.

이 때 python 내장 라이브러리의 이름은 적어주지 않아도 됩니다.

저의 경우는 'random'이 해당되겠네요.

 

글 적는건 10분 정도밖에 걸리지 않지만

실제 위 세가지 오류들을 해결하는데 1~2시간 소요됐던 것 같습니다.

그렇게 해서 완성된 저희 팀의 서비스 페이지입니다.

https://hi-bread-prototype.streamlit.app/

 

streamlit bread3

일정

hi-bread-prototype.streamlit.app

프로토타입이긴하지만 굉장히 뿌듯했습니다.

서울 중구 빵집 데이터 15,000개와 gpt 4 turbo 버전을 가지고서 만든거라

발전 가능성이 무궁무진한 prototype입니다.

PPT 자료 제작

배포 작업이 끝난 후 ppt자료 제작에 들어갔습니다.

중간 발표 때 전처리까지 발표했으니 이번 발표 때는 완성된 데이터셋을

EDA → 스케일링 → 군집 분석 하는 내용을 담았습니다.

 

 

시간 관계상 ppt 목차 작성하고,

EDA~스케일링에 해당하는 부분까지만 제작했습니다.

군집분석 한 파트 남은거니까 내일 중으로 충분히 완성시킬 수 있을 것 같습니다.