Clustering을 통한 거주 동네 추천 서비스
주제 선정
현재 코로나19로 인해 원격 수업, 화상 회의, 재택 근무 등의 비대면 & 언택트가 새로운 문화로 정착되고 있다. 이러한 과정에서 주거와 관련해서도 이를 접목될 수 있는 방법에 대해 고민하다가, 비대면 & 언택트 기반 이사 지역 추천 서비스 아이디어를 고안했다.
많은 사람들은 개개인의 사정에 따라 타 지역으로 이사를 가야하지만, 현재 거주 지역 외의 동네에 대한 정보가 부족하기 때문에 골치 아픈 경우가 발생할 수 있을 것이다.이를 해결하기 위해 클러스터링 기법을 사용하여 사람들의 성향에 따른 살기 좋은 동네를 구분해보기로 했다.
이사를 고려할 때, 각각의 사람마다 집 또는 주거 환경에 대한 우선순위가 모두 다를 것이고 직장과의 거리, 금전적 문제 등의 제약조건을 고려하지 않을 수 없다. 이러한 제약조건 및 희망 거주 지역을 고려할 수 있는 1차적인 기준점 역할을 하는 서비스를 제공하고자 한다.
이 서비스는 각 지역별 특징들을 제공함으로써 개인의 주관적인 NIMBY와 PIMFY를 입맛대로 조합할 수 있게 해줄 것이고 이사 계획의 밑천이 될 것으로 기대한다.
주요 내용
대부분의 사람들에게 여러 조건을 고려한 주거지역 선택은 어려운 과제이다. 이에 시간적인 부담을 덜고 개인의 성향에 맞는 주거 지역을 추천해주는 서비스를 개발하고자 한다.
환경, 편의시설 수, 교통량, 치안 관련 변수 등의 우선순위가 될 수 있는 지표를 만들고 클러스터링 기법을 사용하여 우리나라 약 200여개의 구를 소수의 군집으로 구분하고 군집의 특징을 추출하여 각 군집을 네이밍 한다.
이후 고객의 설문조사의 결과를 근거하여 우선순위를 설정한 후 우선순위에 적합한 군집을 정하고 고객 개인의 고려사항(직장과 지역 간의 거리, 책정된 예산 등)을 추가로 반영하여 군집 내의 구체적인 지역 리스트를 제공하는 서비스이다.
활용 데이터
데이터 수집 과정에서 찾은 데이터는 크게 시•군•구가 기준인 데이터와 시•도가 기준인 데이터 두 가지로 구분되었다. 두 가지 데이터 중 시•도 데이터의 경우 시•도 내의 구에 따라서 다른 특성을 가질 수 있다고 판단하였고, 보다 구체적인 지역에 대한 추천을 위하여 시•군•구별 변수 특성을 가지고 있는 데이터를 취합했다.
모든 데이터를 city변수와 각 시•도별 행정구를 region 변수를 가지도록 전처리를 진행하였고 이 후, city 변수와 region 변수를 기준으로 key 변수를 생성하였다. 이 후 key 변수를 기준으로 수집한 데이터들을 하나의 데이터 프레임으로 합쳐서 최종 데이터 프레임을 만들었다.
최종 데이터 프레임의 특성변수는 142개였고, [한식전문점, 양식전문점, 중식전문점] 등과 같이 비슷한 특성을 가진 변수를 음식점으로 통합하는 등의 과정을 거치고 [결혼상담소, 이륜자동차 판매점] 등과 같이 이사를 결정할 때에 크게 영향을 미치지 않는다고 판단되는 변수들을 제거하는 변수 선택 과정을 진행했다. 변수 선택 과정에서는 산점도와 상관계수를 사용하여 상관관계가 높은 특성변수들을 파악하고 인문학적 해석을 통해 변수를 선택했다.
변수 선택 과정을 마친 후 데이터 프레임 통합 과정에서 생긴 NA값들을 처리했다. NA값 처리를 위해 1차적으로 30개 이상의 NA의 값을 가진 특성 변수는 분석에 이용하기 어렵다고 판단하여 제거했다. 또한 ‘세종시’, ‘계룡시’, ‘계양구’ 3개의 지역에서 ‘폐수발생량, ‘폐수방류량’, ‘유기물질부하량(kg)일_발생/방류’ 4개의 변수에 대하여 NA값이 발견되어 선형회귀분석을 통해 값을 예측하여 NA의 값을 처리했다. 다음은 최종 선택된 특성 변수이다.
수행 내용(Clustering)
변수의 특성이 비슷한 군집을 찾기 위해 클러스터링 기법을 사용하여 분석을 진행했다. 이렇게 추출된 군집들은 이사를 계획하는 고객들에게 1차적인 지역 추천 서비스를 제공할 것이라고 생각한다.
EDA 과정에서 확인해본 결과, 대부분의 변수에서 이상치를 발견했다. 하지만 분석 내용에서 이상치의 값이 중요한 영향을 미치기 때문에 이상치를 제거 할 수 없다고 판단했다. 그렇기 때문에 클러스터링 기법 중 연속형 변수에 사용 가능하고 이상치 값에 로버스트한 기법을 채택했다.
첫 번째 방법으로 밀도 기반 클러스터링인 DBSCAN을 사용해보았다. DBSCAN의 경우 eps, minPts 등의 하이퍼파라미터에 따라 클러스터 개수를 자동으로 지정해준다. 그렇기에 다양한 하이퍼파라미터 조합을 적용해보았으나 좋지 않은 결과를 보였다.
두 번째로 K medoids 알고리즘 방식인 PAM 기법을 사용했다. K means가 아닌 K medoids 기법을 사용한 이유는 K means의 경우 평균값을 이용하므로 이상치에 민감한 특징이 있는데 K medoids는 이상치에 영향을 크게 받지 않는 중위수를 이용하기 때문에 선택하였다.
PAM의 경우 DBSCAN과는 다르게 옵션으로 사전에 클러스터의 개수를 지정할 수 있다. 이를 10개로 설정하고 분석한 결과는 다음과 같다.
각 이미지는 같은 클러스터에 속한 지역들을 의미하며 빨간 글씨의 지역은 클러스터의 중심을 뜻한다. 다음으로는 군집을 네이밍한 결과의 예시이다.
1번 클러스터는 부산광역시 금정구를 중심으로 묶였다. 해당 지역의 특징을 살펴보면 교육용 전기 사용량이 타 클러스터에 비해 높은 특징을 보여 ‘교육 도시형 지역’으로 명명하였다.
3번 클러스터는 서울특별시 은평구를 중심으로 묶였다. 해당 지역의 특징을 살펴보았을 때, 인구수가 많고 각종 편의시설의 수가 타 클러스터에 비해 현저히 높았다. 따라서 이 클러스터를 “중심 도시형 지역”으로 명명하였다.
4번 클러스터는 경상북도 울릉군을 중심으로 묶였다. 해당 지역을 살펴볼 때, 인구가 많지 않고 편의시설의 수가 적었다. 또한 지역의 특성을 봤을 때, 도심보다는 교외의 도시들로 판단되어 “시골형 지역’으로 명명하였다.
5번 클러스터는 전라남도 광양시를 중심으로 묶였다. 해당 지역들은 산업과 관련된 지표가 굉장히 높게 나오고 실제로 중심지로 선정된 광양을 비롯하여 울산 등 산업으로 유명한 지역이 묶여있는 것으로 보인다. 따라서 이들은 ‘산업단지형 지역’으로 명명하였다.
8번 클러스터는 경기도 광주시를 중심으로 묶였다. 해당 지역은 인구가 많고 주택용 전기 사용량이 타 지역에 비해 높게 나타났다. 따라서 수도권에서 일을 하고 퇴근을 하는 ‘위성도시형 지역’으로 명명하였다.
위에서 해석한 군집의 특성을 바탕으로 이사를 계획하는 고객들에게 1차 지역 선정 솔루션을 제공할 수 있을 것으로 기대된다.
고객들의 지역 선택 과정은 아래와 같이 진행될 것이다.
결과 및 기대효과
분석 결과로 나누어진 10개의 클러스터에 대하여 조원들이 선호하는 주거지역 특성을 대입하여 실제로 어떤 지역을 선호하는지와 추천된 지역에 대한 만족도 정도를 조사해보았다. 세 명의 조원이 각자 설문조사를 실시하고 선정된 군집에서 학교 또는 직장과의 거리를 고려하여 희망 지역을 결정하였다. A 조원의 경우 교통의 편리성을 중요시하고 편의시설의 수가 많았으면 좋겠다고 응답하여 ‘중심도시형 지역’(3번 클러스터)가 선정되었고, B 조원과 C 조원의 경우 교통이 중요하지만 인구가 많고 복잡한 도시를 기피하였기 때문에 ‘위성도시형 지역’(8번 클러스터)가 선정되었다.
위와 같은 방법을 통해서 이사를 계획하고 있는 사람들의 시간적• 금전적 비용을 줄여줄 수 있고 고객들이 선호하는 주거 환경에 대한 높은 만족도가 기대된다. 또한, 비대면 & 언택트 분야가 새로운 문화로 자리 잡는 현 시점에서 이사라는 중요한 분야에도 진출할 수 있을 것이라고 기대된다.
다만, 여러 빅데이터 플랫폼에서 제공하는 데이터 중에서 시•군•구를 기준으로 주어진 데이터의 수가 적었고, 데이터 수집을 위하여 많은 시간과 노력을 투자했음에도 불구하고 환경, 편의시설 수, 교통량, 치안 관련 변수 등 특성 지표로 사용할 수 있는 데이터의 수가 많이 부족하였다. 그 결과, 군집의 해석에 있어서도 명확하게 구분되지 않은 측면이 존재하였다.
차후, 서비스의 고도화를 위하여 체계적으로 데이터를 수집하고 더 많은 특성변수를 적용시킬 수 있다면 이번 분석을 통해 얻어진 클러스터링의 결과보다 명확하고 세분화된 기준의 클러스터링 결과를 도출하고, 보다 더 정확하고 유용한 서비스로 발전할 수 있을 것이라 기대한다.