1. 기술적 개요
이 프로젝트는 지역별 데이터를 분석하여 인구 수 예측 및 개선 방안을 제시하는 기술적 접근을 다룹니다. 다양한 알고리즘을 활용하여 인구 수 변화와 관련된 중요한 특성을 추출하고, 이를 바탕으로 예측 모델을 구축하였습니다. 주요 사용 기술 및 분석 기법은 다음과 같습니다.
사용된 주요 기술:
- Python: 데이터 분석 및 모델링을 위한 언어
- Jupyter Notebook: 분석 과정의 시각화 및 코드 실행 환경
- Pandas: 데이터 전처리 및 분석
- Matplotlib, Seaborn: 데이터 시각화 도구
- Scikit-learn: 머신러닝 모델 학습 및 평가
- XGBoost, LightGBM: 고급 부스팅 알고리즘을 통한 예측 성능 향상
2. 데이터 분석 및 학습 기법
데이터 전처리 및 분류
- 데이터 병합: 다양한 공공 데이터를 통합하여 데이터셋을 구성하였으며, 인구 수 및 관련 시설에 대한 정보를 결합하여 분석을 위한 데이터셋을 만들었습니다.
- 분류: 인구 수에 따라 1, 2, 3, 4로 구분하고, 인구 수 증감에 따라 1, 2로 분류하여 예측 모델을 구축했습니다.
주요 모델링 기법:
- 결정트리(Decision Tree):
- 데이터의 주요 특성을 파악하기 위한 기본 모델로, 예측 결과를 직관적으로 이해할 수 있는 트리 구조로 구현되었습니다.
- 탐욕적 탐색을 통해 최적의 분할을 찾고, 모델 성능을 평가했습니다.
- 랜덤포레스트(Random Forest):
- 앙상블 방법을 이용하여 여러 개의 결정 트리를 결합하여 예측의 정확도를 높였습니다.
GridSearchCV
를 사용하여 최적의 하이퍼파라미터를 찾고 모델 성능을 최적화했습니다.
- Gradient Boosting Machine (GBM):
- 부스팅 기법을 사용하여 예측 정확도를 개선했으며, XGBoost와 LightGBM을 활용하여 성능을 극대화했습니다.
- GBM을 통해 각 특성의 중요도를 시각화하여 인구 예측에 기여하는 주요 요소를 분석했습니다.
- MinMaxScaler:
- 데이터를 정규화하여 모델 학습 시 데이터 간 차이를 줄이고, 학습 속도를 개선했습니다.
데이터 시각화
- *히트맵(Heat Map)**을 통해 특성 간의 상관 관계를 시각적으로 표현하고, 데이터 간의 관계를 쉽게 이해할 수 있도록 했습니다.