- 2024_2nd_천안 데이터 공모전_클라우드
- 김민수, 김세현, 이혜준, 이지우
- 프리젠테이션 자료 100% 완료
[최종 PPT 다운로드] (https://docs.google.com/presentation/d/1AcPb9M5Ll55itwGKwMrHolRqRTu_a1iM/edit?usp=sharing&ouid=104062170234915444393&rtpof=true&sd=true)
- 프리젠테이션 자료 99% 완료
- 웹서비스에 GIS알고리즘 적용 취소
- 프리젠테이션 자료 40% 완료
- GIS의 서버인 SQL서버와 웹서버간의 동적인 연결이 어려움
- 가능하더라도 서버가 2개 이상 필요하기 때문에 여건산 취소함
- -> 결과발표 때는 이미지와 영상으로 간략히 설명하고, 이후의 상황에서는
카카오내비 API를 활용할 계획
- 코사인 유사도를 이용하여 식당추천 알고리즘 개발 완료
(/Python/식당추천/ :참조) - 기타 빵집추천, 숙박시설 추천 개발완료
(Python/식당추천/ :참조)(Python/숙박시설추천/ :참조)
- 유저가 먹고싶은 음식을 입력하면 해당음식과 데이터 파일의 가게별
주메뉴항목 중에서 가장 유사도가 높은 음식점을 코사인 유사도 이용하여 계산함
- 유저가 먹고싶은 빵들을 고르면 해당 빵들중 빵집의 메뉴롸 가장많이 겹치는 빵집을 계산함
- 유저가 적정가격을 입력하면 이를 이용하여 숙박시설을 계산함
- 기존의 데이터들의 소분류별 분산과 표준편차를 계산한 결과
공원, 사찰, 산림(산), 시장, 향교의 표준편차가 사용해도될 수준으로 계산됨(분산: 2~3 , 표준편차: 1.5 ~ 2.5) - 추가된 데이터에 비율을 적용할때 문제가 발생함
- 추가된 항목에 평균을 적용할 경우 같은 비율을 가진 데이터가 존제하기 때문에 (X)
- 휘귀 모델을 이용하여 각각 다른 비율을 적용하려 하였지만 출력결과 신뢰도가 매우 낮게 나옴 (X)
- 결과적으로 회귀모델을 돌릴만한 데이터 양이 적기때문에 데이터 추가 작업은 취소함
- KNN 분석 알고리즘 개발 완료
(Python/분석_알고리즘/ :참조)
- KNN 알고리즘과 랜덤포레스트 알고리즘으로 개발시작함.
- 랜덤포레스트는 성능지 좋지않게 나옴. (∴KNN 체택)
- KNN 알고리즘에서 같은 결과만 나오는 문제발생
원인 모든 입력이 동일한 특정 컬럼만 활성화되는 특징 벡터를 생성하게 되어, KNN이 다른 데이터 포인트를 구별하기 어려워서 같은 결과만 출렴함- -> 데이터가 정규화를 정규화 시키고, 입력된 연령대와 성별에 맞는 비율 값을 그대로 벡터에 반영하도록 수정함.
10대 남성: 추천 관광지들: ['유관순열사기념관', '천안박물관', '천안독립기념관', '아우내독립만세운동기념공원', '광덕산']10대 여성: 추천 관광지들: ['유관순열사기념관', '천안박물관', '아우내독립만세운동기념공원', '광덕산', '아우내장/병천5일장(1_6일)']20대 남성: 추천 관광지들: ['성거산', '광덕산', '흑성산', '천안병천순대거리', '아우내장/병천5일장(1_6일)']20대 여성: 추천 관광지들: ['흑성산', '목천향교', '신방공원', '태조산(태조봉)', '천안박물관']
- 아래의 알고리즘의 경우 데이터 분석이 거의 사용되지 않음 ---> KNN과 최단거리 분석, 수학적 분석을 이용하기 떄문에 OK
- 관광지 데이터가 부족함 --->
(Data/천안시데이터_전처리 완료/참고데이터/천안시_관광업소_동 :참조)이 를 분산과 표준편차 를 이용해 검사후 데임하면 가능
- 숙소: 최단거리가 핵심이므로 구역마다 숙소 집단이 모여져 있으니 구역이 택해지게하고, 금액은 5000원별로 나누고, 리뷰도 0.1단위로(장소가 비슷비슷 하기 때문에 금액으로 구분하여 추천)
- 빵집: 자연어처리로 관련검색어들이 뭐가 있는지 확인이 되게끔 해서 사용자가 선택할 수 있게끔 할 계획.
- 식당: 유저가 가고싶은, 먹고싶은 음식으로.. (차후 결정)
- 데이터 전처리 완료
- 데이터 추가 수집 완료 ()
- 아래의 알고리즘의 경우 데이터 분석이 거의 사용되지 않음
- 관광지 데이터가 부족함
- 데이터 수집 완료
(Data/천안시데이터_전처리 완료/ :참조)
- 유저가 페이지에서 성별과 나이, 여행에서 가장 하고싶은 또는 보고싶은 느낌(카테고리: 휴양, 역사유적, 쇼핑, 힐링 등)을 1순위 부터 3순위 까지 입력함
- 유저가 입력한 나이와 성별을 토대로 하여 그 성별 또는 그 나이때의 사람들이 많이가는 관광명소나 음식점을 1차로 추스림.
- 1차로 추스려진 항목들 중에서 유저가 입력한 카테고리에 해당된 항목을 수집함
- 수집된 항목들 중 사용자의 현위치(보통 여행기 혹을 집에서 짜니 집이 현 위치가 되겠죠)에서 찬안으로 가는 도중 가장 먼저 갈 수 있는 관광명소를 중심으로 하여 이후의 명소들과 음식점, 숙박업소 들을 차래로 최단거리 최적화를 통하여 경로를 짬
- 데이터 (빵집, 관광명소, 숙박시설) , 카페 대신에 빵집, 숙박시설 + 천안시 장기체류 비율을 높이기 위해서 주변 관광지(나이, 성별, 세대을 고려한 코스) 넣는 것이다.
- 기본 토대는 천안시 관광코스를 따라가되 사이사이에 빵집과 관광명소를 끼워넣는 것
정적 알고리즘 으로 할것
- 리뷰 크롤링 완료
- 웹 작업 70%완료
- QGIS대신 파이썬으로 대체
- 빵집 순례 -> 시민들 대상 이벤트
-
천안시 공인 빵 맛집 리뷰 크롤링 및 데이터분석이 가능하다!
- 빵이 이뻐서
- 시설이 너무 좋아서
-
빵집(=카페) / 가는 기준이 무엇인가 ? -남성, 여성 카드소비데이터 -> 빈도수를 파악 (포인트 적립 등 데이터에 대한 객관성이 떨어진다 생각함)
- 맛(빵의 종류), 거리, 주변 시설, 관경, 가격, 대기시간(시간대별), 청결(?), 서비스, 음식 양
- 빵빵데이 사이트 , 빵소 팜플렛 pdf 파일
- 기존의 빵지순례 루트를 보고 극대화 시켜야 겠다 (주제 선정 이유)
- 김민수 : 크롤링
- 김세현 : 웹 개발
- 이혜준: qgis
- 이지우: 앱 개발
- 자신의 위치 정보 수집
- 위치 주변에서 5분 또는 10분 등 으로 조건 수집
- 유저가 선택한 조건들로 검색
- 5분을 눌렀을 때, 그 범위내에 빵소가 없다면, "근처에 빵소가 존재하지 않습니다." 뜨고
- 빵소가 있다면, "근처에 빵소 2곳이 발견되었습니다."
- 여기서 중요도1: , 중요도2: , 중요도3: 이렇게 뜨게해서 넣어지게
- 여기서 데이터를 활용, (데이터활용 -> 천안시가 선정한 빵소들을 네이버 댓글 크롤링하여 워드클라우드, 히스토그램들로 특성 군집화 통해 선정)
- 중요도1 중요도2 중요도3 여기서 가중치를 다르게 두어 최단 거리 선정 <- 여기서 사용되는 알고리즘 코드는 다이나믹프로그래밍을 이용한 TSP
- 그리고 예를들어 북구에 북대문이 유명하다, GPS로 인해자동추천하여 빵소1 - 북대문 - 빵소2 : 최단거리 12분입니다 하고지도로 뜨게하는 구현영상
- 천안 빵집 데이터 수집 (객관적인 데이터일 필요 있음)
- 리뷰 데이터(광고성 댓글이 많기 때문에, 주관성이 높을 수 있음)
- 데이터 전처리 통하여, 잘 선별필요있음
- 객관적인 데이터 토대로, 네이버 리뷰 댓글들을 크롤링하여, 히스토그램 및 워드 클라우드를 가지고 시각화 (청결, 주차, 맛, 가게 디자인, 지역별 등 다양한 특성별로 데이터 전처리 및 분류)
- 천안 빵집 관련하여 논문 기사 조사
- 추후, 다익스트라 알고리즘 또는 다른 알고리즘을 가지고 가중치를 두어 자동으로 경로를 짜주는 빵집투어 지도 제작
- 기회가 된다면, 앱개발 또는 UI 디자인하여 천안 명소+빵집+빵집을 넣었을때 자동으로 경로를 짜주는 시스템 개발
- 기대효과로는 천안에 유명한 대학(단국대, 상명대, 호서대, 등) 청년인구 경제 활성화, 지역 경제 활성회, 빵리단길과 같은 지역 특성 개발가능