본문 바로가기
YES - 개발일지

'서울시 아파트 가격 예측' 경진대회 ─ Upstage AI Lab 5

by YES - IT SPOT 2024. 11. 15.
반응형

'따로, 또 같이' - 학습도, 도전도 함께하는 가치

"Separately, but also together."

 

이 한 마디가 이번 프로젝트를 시작하며 제 마음에 깊이 새겨진 핵심 가치다. 혼자서 스스로 학습하고 도전해보는 것이 중요하지만, 함께 배우고 협력하는 과정에서 얻는 배움의 깊이는 그보다도 더 큰 의미가 있다고 느꼈다. 이번 '서울 아파트 가격 예측' 경진대회에 도전하면서, 각자 열심히 연구하고 분석하면서도 서로의 인사이트를 공유하고 피드백을 주고받는 순간들이 이어졌다. 이러한 협력을 통해 개인의 한계를 뛰어넘어 더 큰 성과를 낼 수 있었고, 데이터 분석과 AI를 공부하는 길에서 중요한 가치를 다시 한번 깨달았다.

 

그럼 첫번째 경진대회를 살펴보자.

 

 


1. 경진대회 개요

 

  • 프로젝트 전체 기간 (2주) : 11월 4일 (월) 10:00 ~ 11월 14일 (목) 19:00
  • 제공된 데이터셋 : 국토교통부 실거래가, 서울시 공공주택 아파트 정보
  • 팀 구성 : 5인 1팀
  • 협업 환경 : Notion, GitHub, GoogleDrive, Zoom, Slack

 

본 경진대회는 서울 아파트 가격 예측을 목표로, 주어진 다양한 데이터를 통해 정확하고 신뢰할 수 있는 예측 모델을 만드는 것을 목표로 하고 있다. 이 경진대회는 단순한 코드 작성 이상의 의미를 가지고 있다.

부동산 시장의 동향을 예측하고, 다양한 이해 관계자에게 올바른 의사 결정을 지원하기 위해 만들어진 프로젝트이다. 이를 통해 참가자들은 주어진 데이터를 기반으로 모델을 학습하여 서울 각 지역의 아파트 매매 실거래가를 예측하게 된다. 다양한 회귀 모델들(선형 회귀, 결정 트리, 랜덤 포레스트, 딥 러닝 등)을 활용할 수 있으며, 최종적으로 최적의 예측 성능을 내는 모델을 만드는 것이 목표이다.

 

 


2. 우리 팀과 나의 목표

 

Avengers 팀 공동 목표

 

 

우리 팀과 저의 학습 목표는 기초부터 완성까지 모든 과정을 경험하고 연습하는 것이다.

특히 저는 이론적인 개념을 실제 프로젝트에 잘 적용하는 것을 목표로 삼았다. 이번 머신러닝 대회에 처음 참가해보는 만큼 인공지능 모델을 구축하는 과정이 어떻게 진행되는지에 대해 기본적인 이해를 쌓는 것이 주요 목표였다.

 

처음에는 대회의 전반적인 흐름을 이해하고 개념적인 부분을 적용하는데에 집중하고자 했다. 이를 바탕으로, 추가적인 데이터 수집 및 분석, 결측치 보간과 이상치 처리 등 실무에서 적용할 수 있는 실습을 진행했고, 선형 회귀 모델 이외 XGboost, LightGBM 등 다양한 모델을 시험해보며 여러 접근 방식을 비교해 보고 싶었다.

 

 

 


3. 개인과 공동의 학습 분야

 

이번 경진대회에 본격적으로 진행하기에 앞서, 각 팀원 개별적으로 본 프로젝트를 탐색하고 분석하는 시간을 가졌다. 개인적으로 가장 중점을 둔 부분은 문제 정의와 분석 능력을 강화하고, 데이터를 깊이 있게 다루는 것이었기에 먼저 데이터 분석을 통해 문제를 정의했다. 또한, 대회에서 제공된 베이스라인 코드의 흐름을 파악해, 우리 데이터에 맞는 최적의 접근 방식을 찾는 것에 집중해서 가설을 세웠다.

 

이와 같이, 경진대회 초기에는 기초적인 데이터 탐색부터 시작하여 데이터의 핵심 내용을 파악하고 이를 토대로 어떤 방향으로 나아가야 할지 팀원들과 논의했다.

 

이후, 협력 학습 분야에서는 저희 팀을 결측값 복구 팀피처 엔지니어링 팀으로 나누었고, 나는 피처 엔지니어링 팀에 속해 활동했다. 첫 번째로 복구할 수 없는 데이터의 결측값 처리와 관련된 여러 방안을 논의했다. 이에 나는 결측값을 삭제보다는 어떻게 대체할 것인지를 고민해 다양한 보간 방법을 시도해 보았다. 또한, 베이스라인 코드와 같이 이상치를 제거하니 RMSE 값이 좋지 않은 상황을 겪기도 했는데, 이를 해결하기 위해 이상치를 우선 제거하지 않고 피처 엔지니어링에 주력했다.

이 과정에서 중요한 점은 데이터에 긍정적인 영향을 줄 수 있는 파생 변수를 찾는 것이었고, 이를 위해 다양한 접근법을 시도했다. 예를 들어, 주변의 인프라나 위치적 요인 등 부동산 가격에 영향을 줄 수 있는 특성들을 도출하기 위해 도메인 지식을 적극 활용했다.

 

 


4. 모델 성능 개선 과정

 

 

이번 프로젝트에서는 데이터의 결측값을 보완하고 일부 이상치는 제거하지 않은 상태로 모델을 학습했으나, 기대했던 만큼 RMSE가 개선되지 않았다. 초기에는 선형 회귀 모델을 적용해 기본적인 학습을 진행했지만, 성능이 크게 향상되지 않았다. 그래서 한 단계 더 나아가 LightGBM 모델을 사용해 보았고, 선형 회귀보다 약간의 성능 개선은 이루었으나 여전히 목표치에 도달하기에는 부족함이 있었다.

 

 

모델 성능을 더욱 개선할 방법을 고민하던 중, 서울의 아파트 가격이 지역별로 매우 상이하다는 점에 주목하게 되었. 즉, 지역이나 가격대에 따라 아파트 시장의 특성이 다르기 때문에, 단일 모델을 적용하는 것보다는 가격대별 특성을 고려한 세부적인 접근이 필요하다는 생각이 들었다. 이를 실현하기 위해 먼저 2020년을 기준으로 아파트의 실거래가 데이터를 분석하여 다섯 개의 그룹으로 나누었다. 이렇게 가격대를 구분함으로써 각 그룹에 맞춤화된 개별 모델을 학습시킬 수 있는 기틀을 마련했다.

 

 

이후, 가격대별 그룹으로 나눈 데이터로 학습을 진행했으며, 이를 통해 각 그룹에 따라 RMSE가 상당히 달라지는 경향을 확인할 수 있었다. 이 과정에서 특히 1그룹, 즉 고가 아파트 그룹에서는 이상치가 성능에 크게 영향을 미친다는 사실을 알게 되었다. 고가 아파트 그룹은 가격 변동이 클 뿐 아니라, 시장에서의 이상 가격이 실제 성능에 크게 영향을 주기 때문에, 이상치를 어떻게 처리할지가 모델의 성능을 좌우하는 중요한 요소로 작용했다. 따라서 1그룹에서는 이상치를 보다 세밀하게 다루는 방식으로 모델을 조정하는 것이 필요했다.

 

이번 프로젝트의 특성 엔지니어링 과정은 단순히 데이터를 분석하고 모델을 학습하는 데 그치지 않고, 데이터의 다양한 특성을 깊이 있게 이해하는 중요한 기회가 되었다. 또한, 각 그룹에 맞는 특성을 잘 반영한 맞춤형 모델을 통해 모델 성능을 큰 폭으로 향상시키는 방법을 배울 수 있었다. 이러한 접근법을 통해 단일 모델을 사용하는 것보다 가격대별로 특성에 맞춘 모델을 개별적으로 학습하는 것이 성능 개선에 훨씬 효과적이라는 중요한 교훈을 얻었다. 앞으로도 이러한 방식으로 데이터의 특성을 더 깊이 이해하고, 상황에 맞는 최적의 방법을 찾아가는 과정이 필요하다는 것을 절실히 느꼈다.

 

이와 같은 방식은 아파트 시장의 복잡한 특성을 반영할 수 있는 효율적인 방법이며, 향후 비슷한 유형의 프로젝트에서도 큰 도움이 될 거라고 생각한다.

 

 

 


5. 나의 한계와 아쉬웠던 점

 

 

이번 경진대회에서 모델을 변경하고 학습 및 예측을 시도했지만, 과적합(Overfitting) 문제가 발생했다. 처음에는 다양한 모델을 적용해보면서 성능을 높여보려 했지만, 과적합 문제를 해결하는 데 어려움을 겪었다. 그 당시에는 모델의 복잡함이나 하이퍼파라미터 튜닝 등의 문제를 잘 파악하지 못했고, 무엇이 문제인지를 명확히 이해하지 못한 상태에서 해결 방법을 찾기가 힘들었다. 과적합은 모델이 학습 데이터에 너무 맞춰져서 테스트 데이터에 대한 일반화 성능이 떨어지는 문제인데, 그 문제를 해결하기 위한 구체적인 접근법을 제대로 찾지 못한 것이 아쉬웠다. 더 깊이 있는 학습과 경험이 필요함을 느끼게 된 부분이었다.

 

나에게 가장 큰 아쉬움은 머신러닝(ML)을 배우는 데 더 많은 시간을 할애하지 못한 점이다. 사실, 머신러닝에 대해 배울 부분이 정말 많았고, 이론과 실습을 동시에 진행하기가 생각보다 어려웠다. 단 2주라는 짧은 시간 안에 많은 내용을 익히고 적용하는 것이 힘들었고, 그로 인해 학습의 깊이가 부족한 부분도 있었던 것 같다. 더 많은 시간과 기회가 있었다면, 모델을 더 잘 이해하고 개선하는 데 집중할 수 있었을 텐데라는 아쉬움이 남는다. 머신러닝을 처음 접하면서, 이론을 적용하고 실습을 통해 이해하는 과정에서 좀 더 깊이 있는 학습을 할 수 있었다면 좋았을 것 같다.

 

그럼에도 불구, 이 모든 경험을 통해 느낀 점은 한정된 시간 내에 배우고 적용하는 것이 얼마나 중요한지를 깨달았다. 이번 프로젝트에서 머신러닝의 기본적인 흐름을 이해하고, 데이터 분석 및 모델링의 중요성을 실감할 수 있었다. 비록 한계가 있었지만, 그 속에서도 많은 것을 배우고 경험할 수 있었기에 다음에는 더 많은 시간과 기회를 통해 더 깊이 있는 학습을 할 수 있을 것이라 생각한다.

 

 


6. 경진대회를 통해 배운점과 시사점

 

 

이번 경진대회를 통해 저는 머신러닝 모델을 적용하는 과정에서 많은 것을 배웠습니다. 특히, 데이터 전처리, 특성 공학, 모델 튜닝의 중요성을 실감했다. 결측값 처리와 특성 공학을 통해 모델의 성능을 개선할 수 있음을 배웠고, LightGBM과 같은 고급 모델을 사용하여 모델 성능을 향상시킬 수 있다는 것도 중요한 교훈이었다.

 

지역 특성에 맞는 모델링의 필요성을 깨닫게 되었고, 서울시 아파트 가격의 변동성을 반영한 그룹화 방법이 모델 성능에 미치는 영향을 확인했다. 또한, 과적합을 방지하는 기술모델 성능을 최적화하는 다양한 방법들을 실험할 수 있었다.

 

 

이번 대회에서 1등을 하게 되어 매우 기뻤습니다. 우수한 결과를 얻은 것은 저뿐만 아니라 팀원들의 협력 덕분이었으며, 실제로 그 과정에서 얻은 경험들이 매우 값진 자산이 되었다. 1등을 차지하며 얻은 자신감과 성취감은 제 머신러닝 여정에 큰 의미를 부여해 주었다.

 

경진대회는 짧은 시간 동안 실제 문제를 해결하는 데 필요한 데이터 과학과 머신러닝 실전 경험을 쌓을 수 있는 좋은 기회였으며, 향후 모델 개발과 데이터 분석의 중요성을 더 잘 이해하게 되었다.

반응형
LIST

댓글