SlideShare a Scribd company logo
1 of 10
Download to read offline
서울 상권 분석 파이프라인 구축
[가맹점 사업체 위치 데이터 기반]
기획 : 조성빈 (개인프로젝트)
일시 : 2017.11.30 ~ 2018.01.10
배포 : kadensungbincho.com
목적 : 서울 가맹점 사업체 위치로
클러스터링한 상권 간
유사도 및 차이점을 통해
추천시스템을 제공하는 서비스를
배포하고자 함
SMA
SMA
Contents
1 목적
2 분석 및 설계
3.1 데이터 가공
3.2 모델링
3.3 서비스구현 및 배포
4 추가사항
SMA 목적
https://www.kofair.or.kr/hp/bor/copyView.do?searchId=1494
서울시 업체 위치를 알 수 있으며
업종 구분이 잘 되어있는 데이터는?
 가맹사업체
정부 가맹본부 정보공개서 사업체 중
200 여곳 대상 (일부 외국계 포함)
x, y 위치를 기준 클러스터링한 상권 간의
업종 분포 차이를 구하여
최종적으로 상권별 업종 추천 시스템을 만들자!
한국공정거래조정원 가맹본부 정보공개서 중
가맹점수 기준 가맹사업체 리스트
SMA 분석 및 설계
https://www.slideshare.net/deview/236-67609108
데이터 수집 전처리 데이터 저장 모델링 시각화 서비스 배포
정부 가맹사업체 리스트
파이썬 – 네이버 API
리퀘스트
카테고리 구분, 태그,
좌표계 전처리
AWS EC2 상의
몽고디비에 저장
밀도 기반의
HDBSCAN을 통해
X, Y 위치 기반 클러스터링
Folium, Shapely를 통한
매핑
AWS EC2 상
Nginx, Flask를 통해
웹서비스 배포,
로그인 유저 관리용 SQLite
SMA 3.1 데이터 가공
https://github.com/kadensungbincho/individual_project_20171130/tree/master/packaged_project
app.py : 메인 스크립트 파일.
config.py :
가맹점 리스트 csv 파일 루트,
DB 및 API 아이디 & 패스워드,
지도 작성 상세 등
query.py :
csv 파일 루트 입력 시
네이버에 요청할 쿼리 생성
api_requests.py :
API 아이디, 패스워드를 통해
query.py에서 생성한 쿼리
리퀘스트
preprocess.py :
Json으로 받은 리스폰스 안의
카테고리 상세 구분, 잔여
태그 제거, 카텍 좌표 -> 구글
좌표 변환
coordinate.py :
좌표 변환 함수
mongodb.py :
데이터 몽고디비 입출력 담당
clustering.py :
HBDSCAN 클러스터링 및
관련 로깅 핸들링
mapping.py :
Shapely, Folium를 통한
포인트 -> 폴리곤 변환,
폴리곤 매핑 및 팝업 그래프
추가
flask_app.py : Flask 메인
스크립트 파일.
models.py :
유저, 포스트 관리용 모델
forms.py :
가입, 로그인, 포스트용 폼
SMA 3.2 모델링
1. 분류 문제에서는 분류 라벨이 있는 경우와 없는 경우가
있음
2. 상권 분류의 경우 라벨이 없는 문제이며 클러스터링
지표로는 Centroid 기반 모델(Kmeans) 지표를 차용할 수
있으나 현실을 잘 반영한다고 보기 어려움
3. 지리 데이터에 많이 사용되며,
대량의 데이터에 적용 가능하고,
주변부 데이터를 제외한다는 단점은
비-상업화 지역으로 나타내기로 함
https://en.wikipedia.org/wiki/Cluster_analysis
http://scikit-learn.org/stable/modules/clustering.html
원본 : 정규분포를 띄는 샘플.
KMeans : 중심점을 기준으로 총
거리를 가장 최소화하는 알고리즘,
파라미터로 최종 분류 군집 개수를
입력해야 함.
HDBScan : DBScan에
계층(Hierarchy)적 접근법을 더한
알고리즘, 밀도가 급격히 떨어지는
지점을 제외시키며 파라미터로
군집의 최소 요소 개수, 최종 군집의
최소 개수 등을 입력해야 함.
SMA 3.3 서비스 구현 및 배포
https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-16-04
https://en.wikipedia.org/wiki/Nginx
http://oliverelliott.org/article/computing/notes_labsite/
https://my.freenom.com/
1. 최종적으로 AWS EC2에서 스케쥴러를 통해 자동으로
업데이트 되도록 하려고 함 (현재 매핑전까지 로컬에서
진행)
2. 기본적인 Nginx, Flask, SQLite, Bootstrap 조합을 EC2에
올려 서비스를 운영하고 있음
3. 로그인과 포스트 기능과 관련해 추가적으로 로깅을
찍어 추후 웹 서비스를 분석하여 개선할 예정임
4. 도메인은 생활코딩에서 알게 된 Freenom을
사용하여 구입
SMA 3.3 서비스 구현 및 배포
https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-16-04
https://en.wikipedia.org/wiki/Nginx
http://oliverelliott.org/article/computing/notes_labsite/
https://my.freenom.com/
상권별 그래프 : 상권 군집별로
업종별 가맹점 개수를 나타냄.
브랜드별로 바로 변경 가능.
상권 종류별 지도: 상권 크기, 밀도,
역세권 여부로 지도를 볼 수 있음.
AJAX 방식이 아니라 매핑한 지도
HTML을 요청하는 형식이라서 매우
느림.
상권 유사도 및 추천 : 상권의 업종
개수를 벡터화 하여 유사도 비교까지
구현. 포인트 클릭 시 추천시스템을
추가적으로 구현해야 함.
레이어 컨트롤: 레이어 컨트롤을 통해
상권 종류별 지도를 모두 한 곳에
표기할 수 있으나 HTML 하나로
구현되어 매우 느려서 하지 않음.
SMA 4 추가사항
http://docs.python-guide.org/en/latest/
1. 프론트, 백엔드를 계속 공부하면서 기존의 단점에
더해 추가적인 단점이 보임
2. 수집한 데이터로 최종적인 인사이트를 발견한다는
점에서 추천시스템은 반드시 추가하여 서비스의
가치를 만들어야 할 것으로 판단됨
3. 데이터양이 매우 적으나 대량의 데이터 케이스를
고려하여 스케일업하는 것도 좋은 방향인 것 같음
4. 파이썬 패키지 형식 또는 문서화 (SphinX)의 기준을
검토할 필요가 있음
Seoul Market Analysis
Deploy : http://kadensungbincho.com/
Github : https://github.com/kadensungbincho
Mail : kadensungbincho@gmail.com

More Related Content

What's hot

아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018
아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018
아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018
Amazon Web Services Korea
 

What's hot (20)

AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
 
아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018
아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018
아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
 
Amazon RDS for OracleでのAPEX環境作成
Amazon RDS for OracleでのAPEX環境作成Amazon RDS for OracleでのAPEX環境作成
Amazon RDS for OracleでのAPEX環境作成
 
Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019Real time analytics at uber @ strata data 2019
Real time analytics at uber @ strata data 2019
 
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
BigQuery의 모든 것(기획자, 마케터, 신입 데이터 분석가를 위한) 입문편
 
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
데브시스터즈 데이터 레이크 구축 이야기 : Data Lake architecture case study (박주홍 데이터 분석 및 인프라 팀...
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
 
RedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ TwitterRedisConf17- Using Redis at scale @ Twitter
RedisConf17- Using Redis at scale @ Twitter
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
 
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
[DevGround] 린하게 구축하는 스타트업 데이터파이프라인
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
 
CJ프레시웨이 All-in 클라우드 전환 사례를 통해서 알아보는 Modernization성공 사례-오동규, 메가존 인프라 모더나이제이션 그...
CJ프레시웨이 All-in 클라우드 전환 사례를 통해서 알아보는 Modernization성공 사례-오동규, 메가존 인프라 모더나이제이션 그...CJ프레시웨이 All-in 클라우드 전환 사례를 통해서 알아보는 Modernization성공 사례-오동규, 메가존 인프라 모더나이제이션 그...
CJ프레시웨이 All-in 클라우드 전환 사례를 통해서 알아보는 Modernization성공 사례-오동규, 메가존 인프라 모더나이제이션 그...
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
 
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 

Similar to Seoul (Commercial Real-Estate) Market Analysis Pipeline

[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장
sung ki choi
 
Client dispatcher server_pattern
Client dispatcher server_patternClient dispatcher server_pattern
Client dispatcher server_pattern
Heo Seungwook
 
오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장
JamGun
 
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
Amazon Web Services Korea
 

Similar to Seoul (Commercial Real-Estate) Market Analysis Pipeline (20)

유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
Event Storming and Implementation Workshop
Event Storming and Implementation WorkshopEvent Storming and Implementation Workshop
Event Storming and Implementation Workshop
 
이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다
 
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
제 19회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [COLLABO-AZ] : 고객 세그멘테이션 기반 개인 맞춤형 추천시스템 for 루빗
 
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
64a4f8f874749655fe090218_OpenMSA 솔루션 소개서_v1.12.pdf
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
Microservices
Microservices Microservices
Microservices
 
DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)DB관점에서 본 빅데이터 (2019년 8월)
DB관점에서 본 빅데이터 (2019년 8월)
 
[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드, 컴퓨팅 인프라에 제약없는 서비스 생태계
 
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ff
 
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...
 
고려대 교육정보 서비스 특론 7주
고려대 교육정보 서비스 특론 7주고려대 교육정보 서비스 특론 7주
고려대 교육정보 서비스 특론 7주
 
Client dispatcher server_pattern
Client dispatcher server_patternClient dispatcher server_pattern
Client dispatcher server_pattern
 
오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장오픈소스 소프트웨어 성능 최적화 보고서 6장
오픈소스 소프트웨어 성능 최적화 보고서 6장
 
NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것
NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것
NAVER TECH CONCERT_FE2019_플랫폼 UI 개발 전략의 모든 것
 
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
 
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
IBK 시스템의 클라우드 기반 금융 플랫폼 비즈니스 전략 - AWS Summit Seoul 2017
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
0원으로 시작하는 서버리스 데이터 수집 및 분석
0원으로 시작하는 서버리스 데이터 수집 및 분석0원으로 시작하는 서버리스 데이터 수집 및 분석
0원으로 시작하는 서버리스 데이터 수집 및 분석
 

Seoul (Commercial Real-Estate) Market Analysis Pipeline

  • 1. 서울 상권 분석 파이프라인 구축 [가맹점 사업체 위치 데이터 기반] 기획 : 조성빈 (개인프로젝트) 일시 : 2017.11.30 ~ 2018.01.10 배포 : kadensungbincho.com 목적 : 서울 가맹점 사업체 위치로 클러스터링한 상권 간 유사도 및 차이점을 통해 추천시스템을 제공하는 서비스를 배포하고자 함 SMA
  • 2. SMA Contents 1 목적 2 분석 및 설계 3.1 데이터 가공 3.2 모델링 3.3 서비스구현 및 배포 4 추가사항
  • 3. SMA 목적 https://www.kofair.or.kr/hp/bor/copyView.do?searchId=1494 서울시 업체 위치를 알 수 있으며 업종 구분이 잘 되어있는 데이터는?  가맹사업체 정부 가맹본부 정보공개서 사업체 중 200 여곳 대상 (일부 외국계 포함) x, y 위치를 기준 클러스터링한 상권 간의 업종 분포 차이를 구하여 최종적으로 상권별 업종 추천 시스템을 만들자! 한국공정거래조정원 가맹본부 정보공개서 중 가맹점수 기준 가맹사업체 리스트
  • 4. SMA 분석 및 설계 https://www.slideshare.net/deview/236-67609108 데이터 수집 전처리 데이터 저장 모델링 시각화 서비스 배포 정부 가맹사업체 리스트 파이썬 – 네이버 API 리퀘스트 카테고리 구분, 태그, 좌표계 전처리 AWS EC2 상의 몽고디비에 저장 밀도 기반의 HDBSCAN을 통해 X, Y 위치 기반 클러스터링 Folium, Shapely를 통한 매핑 AWS EC2 상 Nginx, Flask를 통해 웹서비스 배포, 로그인 유저 관리용 SQLite
  • 5. SMA 3.1 데이터 가공 https://github.com/kadensungbincho/individual_project_20171130/tree/master/packaged_project app.py : 메인 스크립트 파일. config.py : 가맹점 리스트 csv 파일 루트, DB 및 API 아이디 & 패스워드, 지도 작성 상세 등 query.py : csv 파일 루트 입력 시 네이버에 요청할 쿼리 생성 api_requests.py : API 아이디, 패스워드를 통해 query.py에서 생성한 쿼리 리퀘스트 preprocess.py : Json으로 받은 리스폰스 안의 카테고리 상세 구분, 잔여 태그 제거, 카텍 좌표 -> 구글 좌표 변환 coordinate.py : 좌표 변환 함수 mongodb.py : 데이터 몽고디비 입출력 담당 clustering.py : HBDSCAN 클러스터링 및 관련 로깅 핸들링 mapping.py : Shapely, Folium를 통한 포인트 -> 폴리곤 변환, 폴리곤 매핑 및 팝업 그래프 추가 flask_app.py : Flask 메인 스크립트 파일. models.py : 유저, 포스트 관리용 모델 forms.py : 가입, 로그인, 포스트용 폼
  • 6. SMA 3.2 모델링 1. 분류 문제에서는 분류 라벨이 있는 경우와 없는 경우가 있음 2. 상권 분류의 경우 라벨이 없는 문제이며 클러스터링 지표로는 Centroid 기반 모델(Kmeans) 지표를 차용할 수 있으나 현실을 잘 반영한다고 보기 어려움 3. 지리 데이터에 많이 사용되며, 대량의 데이터에 적용 가능하고, 주변부 데이터를 제외한다는 단점은 비-상업화 지역으로 나타내기로 함 https://en.wikipedia.org/wiki/Cluster_analysis http://scikit-learn.org/stable/modules/clustering.html 원본 : 정규분포를 띄는 샘플. KMeans : 중심점을 기준으로 총 거리를 가장 최소화하는 알고리즘, 파라미터로 최종 분류 군집 개수를 입력해야 함. HDBScan : DBScan에 계층(Hierarchy)적 접근법을 더한 알고리즘, 밀도가 급격히 떨어지는 지점을 제외시키며 파라미터로 군집의 최소 요소 개수, 최종 군집의 최소 개수 등을 입력해야 함.
  • 7. SMA 3.3 서비스 구현 및 배포 https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-16-04 https://en.wikipedia.org/wiki/Nginx http://oliverelliott.org/article/computing/notes_labsite/ https://my.freenom.com/ 1. 최종적으로 AWS EC2에서 스케쥴러를 통해 자동으로 업데이트 되도록 하려고 함 (현재 매핑전까지 로컬에서 진행) 2. 기본적인 Nginx, Flask, SQLite, Bootstrap 조합을 EC2에 올려 서비스를 운영하고 있음 3. 로그인과 포스트 기능과 관련해 추가적으로 로깅을 찍어 추후 웹 서비스를 분석하여 개선할 예정임 4. 도메인은 생활코딩에서 알게 된 Freenom을 사용하여 구입
  • 8. SMA 3.3 서비스 구현 및 배포 https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-16-04 https://en.wikipedia.org/wiki/Nginx http://oliverelliott.org/article/computing/notes_labsite/ https://my.freenom.com/ 상권별 그래프 : 상권 군집별로 업종별 가맹점 개수를 나타냄. 브랜드별로 바로 변경 가능. 상권 종류별 지도: 상권 크기, 밀도, 역세권 여부로 지도를 볼 수 있음. AJAX 방식이 아니라 매핑한 지도 HTML을 요청하는 형식이라서 매우 느림. 상권 유사도 및 추천 : 상권의 업종 개수를 벡터화 하여 유사도 비교까지 구현. 포인트 클릭 시 추천시스템을 추가적으로 구현해야 함. 레이어 컨트롤: 레이어 컨트롤을 통해 상권 종류별 지도를 모두 한 곳에 표기할 수 있으나 HTML 하나로 구현되어 매우 느려서 하지 않음.
  • 9. SMA 4 추가사항 http://docs.python-guide.org/en/latest/ 1. 프론트, 백엔드를 계속 공부하면서 기존의 단점에 더해 추가적인 단점이 보임 2. 수집한 데이터로 최종적인 인사이트를 발견한다는 점에서 추천시스템은 반드시 추가하여 서비스의 가치를 만들어야 할 것으로 판단됨 3. 데이터양이 매우 적으나 대량의 데이터 케이스를 고려하여 스케일업하는 것도 좋은 방향인 것 같음 4. 파이썬 패키지 형식 또는 문서화 (SphinX)의 기준을 검토할 필요가 있음
  • 10. Seoul Market Analysis Deploy : http://kadensungbincho.com/ Github : https://github.com/kadensungbincho Mail : kadensungbincho@gmail.com