부동산실거래가 기반 실거래가 예측, 구별 정보 인포그래픽 제공 사이트(2016.11.21 ~ 2017.02.20)

1. 효율적이고 확장가능한 빅데이터 전문가과정
(2016.11.21 ~ 2017.02.20), 멀티캠퍼스

 

1조   강인성, 이병훈, 최유리
부동산실거래가 기반 실거래가 예측, 구별 정보 인포그래픽 제공 사이트 제작

Custmyhome 바로가기

 

1. System 구성

 

Amazon Web Service free tier EC2에 CentOS7를 설치
Oracle Database 11g, Hadoop, Hive, RstudioServer, MariaDB 등 설치

국토교통부 실거래가 데이터의 오픈API를 신청하고 Python3의 requests, beautifulSoup4 패키지를 활용하여 csv형태의 실거래가 데이터를 수집한다.
(서울시 실거래가 2006년01월~2016년12월, 83만건)의 데이터를  Oracle과 hadoop에 저장한다.

 

2. ERD

 

Oracle에는 5개의 테이블을 모두 input, 네이버지도API의 Geocode(주소-> 좌표변환 서비스)를 활용 실거래가 데이터의 ZIPCODE, LEGALAREA, LANDNUM, APTMENTNAME를 이용해 주소 데이터를 좌표로 변환한다.

Hadoop에는 Hive를 이용해 가장 오른쪽의 분석용 테이블만 input

 

3. UI, 메인화면 기능 소개

 

첫 페이지, 이용자의 정보를 실거래가 예측 회귀모델의 독립변수로 받는다.
80만건의 서울 실거래 데이터를 통해 학습된 회귀모델을 이용해 예측된 이용자의 실거래가를 화면에 제공한다. (EC2에서 Rserve를 통해 R을 돌려 결과를 얻고 화면에 뿌려준다.)

Servlet을 돌릴 때 실거래가 예측 + Oracle데이터에서 쿼리를 통해 가입회원수, 총거래횟수, 전달과 이번달의 거래수 등의 정보를 뿌린다.

 

4. 기타 기능 소개

 

하이차트를 이용, 구별 실거래가 데이터 interactive chart를 만들었다. 월별 최대가, 평균가, 최소가, 거래량에 대한 정보를 확인할 수 있다.

 

 

R을 이용 네이버 부동산뉴스를 구별로 크롤링해 비정형 데이터를 수집했다. Python의 KONLPY를 통해 중복, 필요없는 단어를 제거한 후 워드 클라우드로 나타내었다.

 

 

Oracle 데이터를 이용해 기간, 지역별 실거래 데이터를 불러오고, 다음지도 API를 통해 해당지역에 대한 정보를 얻을 수 있다.

 

 

구글map API를 통해 기간별 거래량을 Heatmap으로 보여준다.
(우리나라 지도는 snazzy를 통한 지도 스킨 적용이 안된다…)

 

5. 추가나 보완하고 싶은 기능.

학원에서는 여러대의 CentOS서버를 통해 하둡환경을 구성했다. 하지만 AWS를 이용할 땐, 1대의 컴퓨터만 이용했기 때문에 단일환경만 사용할 수 있었다. 다음에는 AWS에서도 여러 대의 서버를 활용해 master와 slave로 나뉜 hadoop 환경을 구성해 보고 싶다.

EC2 Freetier는 1GB의 램 환경이기 때문에 swap 메모리를 추가해서 oracle 11g를 설치했고, 여러가지 소프트웨어가 한번에 돌아갈 때 버벅이는 것을 느꼈다. AWS의 RDS같은 데이터베이스 전용 서버를 따로 두고 사용해 보는 것도 좋을 것 같다.

워드클라우드나 몇몇 그래프는 실시간으로 바뀌지 않고 데이터나 이미지파일이 그대로 업로드..(하드코딩?) 바뀌는 데이터에 따라 실시간으로 변경되는 동적인 페이지로 만들고 싶다. (.py 파일로 만들고 centos환경에서 cron.d등을 통해서 일정시간마다 데이터 refresh하는 방법? 더 좋은 방법을 알아봐야 할 것 같다.)