안녕하세요. 데이터CPA, Cloud입니다.
이번 글이 벌써 데이터 분석 기초를 정리한 열번째 글이네요!
오늘은 데이터 분석의 종착지이자, 그 결과물인 모델링이라는 것을 해보도록 하겠습니다.
1. 모델링이란?
모델링은 수집, 전처리를 하고 분석한 데이터 셋을 바탕으로 알고리즘을 만들어서,
비슷한 새로운 데이터가 주어졌을 때 그 결과를 예측해내거나 분류해내는 모델을 만들어내는 것입니다.

2. 서울시 전세 보증금 적정가 예측모델
이해를 돕기 위해 결과물을 먼저 보여드리겠습니다.
저희는 저번 글까지 서울시 전세 및 월세계약 10년치(2015년~2024년) 데이터를 분석해보았습니다.
그 때 포함된 변수(feature)는 다음과 같았습니다.
| 1. 건물용도 2. 임대면적 3. 동_norm 4. 구_norm 5. 건축년도 6. 최근접_지하철역 7. 최근접_호선 8. 계약일 9. lon 10. lat 11. 건물연령 12. 층 13. 접수년도 14. 지하철역까지 직선거리 |
powerBI를 통한 분석에서, 각 feature가 충분히 설명력이 있다는 결과를 얻을 수 있었죠. 따라서 이 피처를 이용하여 모델링을 했을 때 설명력 있는 결과가 나올 가능성이 있었습니다.
모델링을 할 땐 항상 이렇게 EDA나 추가분석의 결과를 바탕으로 설명력이 있을지 예측해보고 수행해야 합니다. 그렇지 않으면 전혀 설득력없는 숫자만 뱉어내는 모델이 나올 수도 있기 때문이죠.
서울시 평당 전세 보증금 및 월세 임대료를 높이는 요인 10가지 | 데이터 분석 기초(9)
안녕하세요. 데이터CPA, Cloud입니다.오늘은 서울시 전월세 계약내역에 대해 EDA와 기초적 분석을 했던 지난 글에 이어서, 서울시 10개년(2015~2024) 전월세 거래 분석 시각화 (feat. PowerBI) | 데이터분석
datacpa.tistory.com
데이터를 통해 머신러닝을 하고, 그 결과로 나온 모델에 새로운 변수를 넣어보겠습니다.

이렇게 여섯개의 값만 채워넣으면 나머지 변수들은 알아서 채워지도록 만들고,

예측을 실시해보니, 적정 전세보증금은 3억 정도가 나오네요.
오늘 날짜(25.9.29) 기준으로 나와있는 해당 매물의 전세는 보증금 2.15억에 월세 12만원, 관리비 별도였습니다.
이 모델은 월세 없이 백프로 전세라는 가정 하에 만들어진거니, 전환율을 감안해야 하는데 서울시 평균 보증금-월세 전환율이 5%대인 것을 감안하면, 지금 이 매물은 저렴한 가격이라는 것을 알 수 있습니다.
(모델이 적절하다는 가정하에)
따라서 부동산에 연락해서 실물을 보러 갈 만 한 것이죠!
3. 모델링 과정 실습
위와 같은 모델을 만들기 위해서 어떤 과정을 거치는지 알아보겠습니다.
1) 데이터 정리하기
저희가 원래 분석하던 파일은 전세와 월세가 섞여 있어 머신러닝을 위해서 전세거래내역만 따로 뽑고, 모델링에 적용할 열만 뽑아옵니다. 아래 첨부한 파일은 그 중 8만 행만 샘플로 뽑은 것입니다. 이런 형태로 전체 데이터를 정리합니다.

엑셀이나 파워쿼리로 정리해도 되지만, 주피터 노트북을 열어두고 ChatGPT로 하는게 품이 제일 덜 들 것 같아 아래 프롬프트로 수행하였습니다.
| 프롬프트: 전체 데이터에 대해서, 동_norm, 최근접_지하철역, 접수년도, 계약일, 구_norm, 건물연령, 최근접_호선, 지하철역까지 직선거리, 평당_임대료, 평당_보증금, lat, lon, 건물용도, 건축년도, 보증금(만원), 임대료(만원), 임대면적, 전월세구분, 층 열만 남기고 나머지는 삭제한 다음에 따로 서울 10년치 전월세계약_선택열만.csv로 저장하는 코드 짜줘. 그리고 새로 만든 서울 10년치 전월세계약_선택열만.csv 파일에 대해, 전월세구분 열 항목이 전세인 내용만 모은 파일 따로, 월세인 내용만 모은 파일 따로 각각 나눠서 저장해주는 코드 짜줘. |
2) 선형회귀모델 돌려보기
저희가 지금 하고자 하는 것은 지도학습 중 회귀모델을 만드려는 것입니다.
| 지도학습 | 비지도학습 |
문제와 답을 함께 학습함 새롭게 데이터 주면 학습 내용을 바탕으로 답을 도출 회귀나 분류 모델 등 예측모델에 주로 이용 |
분석하고자 하는 데이터 받으면 즉시 학습 및 해답 도출함 고객 군집화나 문서 주제 분류 등에 이용 |
| 회귀모델 | 분류모델 |
| 지도학습에서 가장 많이 쓰임. 연속적인 수치 값을 예측하는데 이용. ex. 수능 과목별 점수에 따른 수험생 IQ예측 |
미리 정해진 범주 중 주어진 데이터가 어디에 속하는지 결정 ex. 환자의 증상들을 보고 병명을 진단해내는 것 |
이러한 회귀모델에는 다양한 종류의 모델링 기법이 존재합니다.
그 중 가장 간단한 것이 선형회귀모델이죠. 변수와 타겟 간의 선형적인 관계가 존재하는지 확인하고, 존재한다면 이를 학습하는 것입니다. 다른 회귀모델에 비해 훨씬 간단하기에, 저희가 가정한 변수들이 타겟에 영향력이 있고 복잡한 모델링으로 실현가능한지 보기 위해 먼저 돌려볼 모델로 가장 적합합니다.
보통 모델링을 할 땐 전체 데이터를 학습시킬 데이터와 테스트해 볼 데이터로 나누고 시작합니다.
저희는 이번에 전체의 약 90%인 2015년부터 2023년의 거래 데이터를 통해 학습을 하고, 약 10%인 2024년의 결과값을 예측하고 실제 수치와 비교하는 방식으로 머신러닝을 진행할겁니다.
보통은 이런식으로 데이터의 일부(보통 80%)를 학습에, 나머지(20%)를 테스트에 활용하는 것이 일반적입니다. K-fold 방식이라는 더 복잡하게 데이터를 나누는 방법도 있습니다.
아래는 GPT를 통해 선형회귀모델을 돌리는 파이썬 코드를 받아서, 주피터노트북을 통해 돌린 결과입니다.
| [시계열 분할] 학습 2015~2023, 테스트 2024+ 학습행수: 2,298,412, 테스트행수: 221,032 ◆ SGDRegressor Train: MAE=7,418.95 RMSE=11,325.48 R²=0.7636 Test : MAE=9,172.39 RMSE=13,312.19 R²=0.7463 |
이렇게 10년치 데이터를 시계열로 나누어 학습하면, 사실상 새롭게 만든 모델로 이미 예측을 수행해보고 결과를 내는 것과 같은 과정을 거칩니다. 2015년부터 2023년까지의 데이터로 만든 알고리즘을 통해 2024년의 데이터를 예측하고, 이미 나와있는 2024년의 데이터와 비교하여 그 오차값을 측정해 모델 성능을 파악하므로, 굉장히 현실적인 검증이 될 수 있습니다.
기본 선형회귀모형 테스트 결과를 해석하면,
- MAE (평균절대오차): 약 9천만원 정도. 즉, 평균적으로 ±9천만원 정도 예측 오차입니다.
- RMSE: 약 1.3억. 큰 단위 오차가 있음을 시사합니다.
- R² = 0.75: 보증금 변동성의 약 75%를 설명한다는 것입니다. 선형모델 치고 꽤 준수한 수준입니다.

또한 선형회귀모델을 돌린 결과, 절댓값 기준으로 결과에 영향을 크게 미친 상위 계수들이 도출되었습니다.
전체적으로 살펴보면 구, 동, 역세권 요인 등 지역이 전세 보증금에 가장 중요한 영향을 미치며, 아파트>오피스텔>다세대 순으로 프리미엄이 붙는 것을 알 수 있습니다.
3) 비선형 모델(Light GBM, XGBoost) 적용
앞선 선형회귀모형의 결과에 따르면, 저희 모형의 타겟인 전세 보증금은 다양한 요인에 영향을 받습니다. 만약 선형모델의 결과가 특정 변수에만 영향을 받는다면 그 외 변수들을 제거하여 선형모델을 정교화 할 수 있습니다. 그러나 이처럼 다양한 변수의 복합적인 영향을 고려할 때는 선형모델보다는 비선형모델이 더욱 적합합니다.
◆ LightGBM Train: MAE=3,205.41 RMSE=5,141.09 R²=0.9513 Test : MAE=4,437.12 RMSE=6,939.03 R²=0.9311
◆ XGBoost Train: MAE=2,171.93 RMSE=3,357.15 R²=0.9792 Test : MAE=4,424.48 RMSE=7,160.38 R²=0.9266
비선형모델의 결과는 매우 성공적이었습니다.
- MAE는 평균절대오차로, 실제값과 예측값의 차이의 평균 절대값입니다. 결과값과 단위는 같으며 작을수록 좋습니다.
- RMSE는 평균제곱근오차로, 실제값과 예측값의 차이를 제곱하여 평균을 구한 뒤 다시 루트를 씌운 값입니다. 결과값과 단위는 같으며 작을수록 좋습니다.
- R^2은 실제값의 분산 대비 예측값의 분산을 의미하는데, 1에 가가울 수록 설명력이 큰 것입니다.
그래디언트 부스트 모델에서, 가벼운 버전(Light Gradient Boosing Model)으로는 변동성의 약 95.13%를 설명할 수 있었고, 모든 피처에 대해 정렬한 버전(eXtreme Gradient Boosting Model)으로는 변동성의 약 97.92%를 설명할 수 있었습니다. 평균적인 오차는 약 2172만원이므로, 거의 정확하게 전세보증금을 예측해내는 모델이 완성되었습니다.
이를 통해 2024년 전세보증금을 예측하고 실제값과 비교하여 테스트 한 결과, 저희가 선정한 변수들과 비선형모델이 최종적으로 변동성의 약 93%를 설명하는 것으로 나왔습니다.
XGBoost 기준 피처 중요도는 아래와 같이 나왔습니다.
| 1 | 건물용도 | 아파트·오피스텔·다세대 여부가 가장 강력한 결정 요인. |
| 2 | 임대면적 | 면적이 클수록 보증금 증가. 전세 특성상 강한 비례 관계. |
| 3 | 동_norm | 세부 동 단위 지역 효과가 크다. (초고가 동네 vs 중저가 동네) |
| 4 | 구_norm | 자치구 단위 지역 효과. 강남구/서초구 등은 프리미엄 반영. |
| 5 | 건축년도 | 신축일수록 프리미엄. 노후 주택은 할인. |
| 6 | 최근접_지하철역 | 역세권 여부가 전세가에 큰 영향. (특히 강남권 주요 역) |
| 7 | 최근접_호선 | 노선 자체의 가치 차이(2호선/9호선 > 외곽 노선). |
| 8 | 계약일 | 시장 시점 반영. 특정 월·연도에 따라 가격 상승/하락. |
| 9~10 | lon, lat | 위경도 좌표 → 지역적 위치 자체도 강력한 예측자. |
| 11 | 건물연령 | 건축년도와 유사, 나이가 많을수록 전세가 하락 요인. |
| 12 | 층 | 고층/저층 프리미엄 반영. (특히 아파트에서 영향 있음) |
| 13 | 접수년도 | 연도별 장기 추세 반영. (예: 2021~22 급등, 23~24 조정) |
| 14 | 지하철역까지 직선거리 | 거리가 가까울수록 보증금↑. 다만 직접 변수보다는 "역 이름"이 더 큰 영향. |
마무리
오늘은 서울시 부동산의 전세보증금을 예측하는 모델을 XGBoost 모형으로 만든 결과를 보여드리고, 직접 만들어보았습니다. 선형모델로 방향을 잡고, 비선형모델 두가지를 돌려서 결과를 비교해보았죠!
주거형태, 지역, 면적, 건축연식, 그리고 시장타이밍(접수년도/계약일)의 조합이 전세보증금을 결정하며, 데이터를 통해 학습한 모델이 이를 예측해낼 수 있다는 것을 확인할 수 있었습니다.
직접 수집하고 정리한 데이터를 통하여, 내가 관심있던 문제를 해결할 방법을 찾는 것.
이것이 데이터 분석의 핵심이며 저희가 여태까지 해 본 것입니다.
다음 글에서는 데이터분석의 마무리로, 직접 만든 모델을 남들과 공유하고 배포하는 법을 알아보겠습니다.
스트림릿(streamlit)으로 파이썬 기반 모델 배포하기 | 데이터 분석 기초(11)
안녕하세요. 데이터CPA, Cloud입니다. 지난 글에서는 서울특별시 전세집 보증금 금액의 적정가를 도출해내는 모델을 만들어보았습니다. 서울시 전세 보증금 예측모델 만들기 | 데이터 분석 기초(10
datacpa.tistory.com
'AI & Data analystics > Data' 카테고리의 다른 글
| Streamlit Community Cloud를 통한 대용량 모델 배포(feat.GitHub) | 데이터 분석 기초(12) (2) | 2025.10.03 |
|---|---|
| 스트림릿(streamlit)으로 파이썬 기반 모델 배포하기 | 데이터 분석 기초(11) (1) | 2025.09.30 |
| 서울시 평당 전세 보증금 및 월세 임대료를 높이는 요인 10가지 | 데이터 분석 기초(9)_PowerBI (1) | 2025.09.15 |
| 서울시 10개년(2015~2024) 전월세 거래 분석 시각화 (feat. PowerBI) | 데이터분석 기초(8) (1) | 2025.09.14 |
| 월세를 결정하는 주요 요인은 뭘까? - 지오코딩을 활용한 피처 엔지니어링 | 데이터 분석 기초(7) (1) | 2025.09.13 |