👉 프로젝트 PDF
데이터 마이닝 기법을 활용하여 미세먼지 농도와 유해시설, 의료기관 접근성을 종합적으로 고려한 의료 취약 지역 분석 프로젝트입니다.
기존 의료 취약 지역 선정 기준에 미세먼지 농도와 유해시설 분포를 추가하여, 환경적 요인을 고려한 새로운 의료 취약 지역을 재정의합니다.
- 다차원 분석: 미세먼지, 유해시설, 의료기관 접근성(인구당/면적당)을 종합 분석
- 머신러닝 기반: Random Forest로 유해시설 가중치 산출, K-means로 지역 군집화
- 시각화: Folium을 활용한 대한민국 시군구 단위 인터랙티브 지도 생성
- 예측 모델: XGBoost로 의료 취약 확률 예측
- 타겟 생성: 미세먼지 상위 50% 지역 추출
- 가중치 학습: Random Forest Regressor로 유해시설 항목별 중요도 계산
- 사업장 수/배출구 수/방지시설 수/배출시설 수 (1종/2종/3종 각각)
- 점수 계산: 12개 항목에 학습된 가중치를 적용하여 유해시설점수 산출
- 변수 정규화: 4개 변수를 0-100 스케일로 표준화
pm_score: 미세먼지 농도hazard_score: 유해시설 점수area_score: 면적당 의료기관 수 (역수)pop_score: 인구당 의료기관 수 (역수)
- K-means: 4개 군집으로 지역 분류
| 군집 | 특징 | 대표 지역 |
|---|---|---|
| 군집 A | 높은 미세먼지 + 높은 유해시설 | 울산, 평택, 여수, 구미, 안산 등 |
| 군집 B | 높은 미세먼지 + 낮은 의료접근성 | 수도권, 광역시 외곽 지역 (총 63개) |
| 군집 C | 높은 인구밀도 + 양호한 의료접근성 | 서울, 부천 |
| 군집 D | 낮은 미세먼지 + 양호한 의료접근성 | 농촌 및 산간 지역 |
군집 B를 미세먼지 중심의 의료 취약 지역으로 정의합니다.
기존 의료취약점수(0.515점 미달 기준) 대비, 새롭게 발견된 의료 취약 지역:
- 경기: 동두천, 안성, 포천
- 충북: 충주, 제천, 증평, 음성
- 충남: 서산, 당진
- 강원: 춘천, 강릉
- 전북: 군산, 익산
- 알고리즘: XGBoost Classifier
- 클래스 불균형 처리: SMOTE 오버샘플링
- 출력: 0-100% 의료 취약 확률
- 설명: 행정구역시군구_경계
- 다운로드: https://drive.google.com/drive/folders/1N-fPoLz3qM2ozBbYCdtk6FhaCt4RX1iM?usp=drive_link
- 출처: https://www.data.go.kr/data/15125045/fileData.do?recommendDataYn=Y#
- 설명: 시군구 단위 대기 배출원
- 출처: https://www.data.go.kr/data/15068820/fileData.do
- 설명: 면적 당 병원 수
- 설명: 인구 당 병원 수
- 설명: 기존 선행연구 바탕의 의료취약점수
- 설명: 월별 미세먼지 농도 데이터
pip install pandas numpy scikit-learn xgboost imbalanced-learn folium geopandas matplotlibjupyter notebook main.ipynbcluster_map.html: 4개 군집별 시군구 지도medical_vulnerability_map.html: 기존 의료취약점수 시각화new_region.html: 새롭게 발견된 의료 취약 지역 하이라이트
Data-mining-Project/
├── main.ipynb # 전체 분석 파이프라인
├── README.md
├── WhoMergedPm.csv # 미세먼지 데이터
├── hazard_facility.csv # 유해시설 데이터
├── hospital_per_area.csv # 면적당 병원 수
├── hospital_per_pop.csv # 인구당 병원 수
├── tmp_score_result.csv # 기존 의료취약점수
└── LatLng/ # 행정구역 경계 shp 파일
- 데이터 분석: Pandas, NumPy
- 머신러닝: scikit-learn, XGBoost
- 클래스 불균형: SMOTE (imbalanced-learn)
- 시각화: Folium, Matplotlib
- 공간 데이터: GeoPandas
- 환경-건강 통합 접근: 기존 의료접근성 지표에 미세먼지와 유해시설을 추가하여 환경 건강 위험까지 고려
- 수도권 외곽 지역 주목: 대도시 인근이지만 높은 미세먼지로 인한 잠재적 의료 수요 증가 지역 발견
- 데이터 기반 정책: 머신러닝 기반 점수화로 객관적인 의료 취약 지역 선정 기준 제시