AIB18_Section6_PJT
AIB18기 DA 5팀 - 여행하DA
프로젝트 기간 : 2023.07.19 ~ 2023.08.01
프로젝트 도구 : Selenium, Mysql, DBeaver, Pandas, Tableau, StreamLit
사용언어 : Python, SQL
조원 및 전담 파트
김영석 : 프로젝트 플래닝, 데이터 수집 및 적재
김영준 : 시각화, 발표 자료 작성
김호인 : 웹 서비스 기능 구현
조영재 : 예측 모델링 작성
프로젝트명 : 플래닝이 싫은 P들을 위해, 쉽게가DA
서비스URL
대시보드
발표영상 다운링크
프로젝트 배경
- 항공권, 숙박비, 관광지 비용 등 따로 흩어져 있는 데이터 정보를 검색하기 어려워하는 사람들을 위해 최대한 간편하게 검색할 수 있는 서비스를 제작
프로젝트 개요
- 사용자들이 여행하고자 하는 목적지에 대한 항공권, 숙박비용 정보를 최대한 간단한 작업으로 대략적인 정보를 제공해주는게 목적
- 8월 왕복 항공권 정보, 방문지역 숙박 정보, 관광지 비용 등을 웹 스크래핑을 통해 데이터 수집
- 수집된 데이터를 토대로 가설 설정 및 Tableau 이용한 시각화
- Streamlit을 통한 웹 서비스 구현
- 8월 항공권 가격을 토대로 가격예측 모델 제시
프로젝트 기술스택
- Web Scraping
- DataBase
- Tools
프로젝트 진행과정
- 네이버 항공권 예약, 네이버 호텔 예약에서 데이터 스크래핑(셀레니움) 진행
- 8월 오사카 지역 항공권 금액, 출발일자, 출발시간, 도착일자, 도착시간등을 수집, 숙박정보도 호텔 이름, 가격, 평점, 성급 등을 수집
- 수집한 데이터들을 Pandas를 통해 정제
- 정제된 데이터를 CSV형태로 변환 후 AWS에 구축된 Mysql에 데이터를 적재
- StreamLit을 통핸 Front 구현 및 DB 연결을 통한 데이터 조회 기능 구현
- 가격 예측 모델(RandomForest) 구현 후 StreamLit에 삽입
- 도출된 데이터를 기반으로 Tableau 사용하여 이용자에게 설득력 있는 시각화 자료 제공
프로젝트 흐름도
프로젝트 구현내용
1.데이터 크롤링
(1) 항공권
(2) 호텔정보
2. Pandas를 이용하여 데이터 정제 및 csv 파일로 변환
3. 데이터 적재
(1) AWS에 Mysql 구축
(2) Mysql에 데이터 업로드
(3) 프론트(StreamLit)에서 Full Scan 조회하던 기능을 Mysql 프로시져에서 수행하도록 변경하여 속도 개선작업 진행
4. StreamLit 을 이용한 서비스 구현
(1) 왕복항공권 추천, 호텔 추천 서비스
(2) 결과 조회 서비스
(3) 8월 항공권 가격예측 서비스
5. Tableau 를 이용한 시각화
프로젝트 한계 및 개선방안
한계점
- 현재는 지역 한군데만 지원하기에 서비스 기능에 한계가 있다
- 데이터 양이 많지 않아 인사이트를 도출하는데 있어 한계가 있다.
- 기능 구현에 초점이 맞춰져 진행하다 보니 시각화, 분석, 예측 파트의 구현이 상대적으로 약했다
개선방안
- 서비스 지역을 늘려 다양한 지역에 대한 정보를 제공할 수 있게 한다.
- 렌터카 정보, 날씨, 호텔 유형 등 다양한 데이터를 수집을 진행한다.
- 사용자 입장에서 보기 편한 시각화 구성과 다양한 관점에서 데이터 분석을 진행하여 예측 모델링 제작을 위한 추가적인 특성 엔지니어링 작업을 진행한다.