파일
- data
- 데이터 파일 저장공간
- images
- 데이터 시각화 및 필요한 이미지 저장
- model
- 학습한 모델 정보
- report
- 유의미한 정보분석을 위한 보고서 저장
코드
- util.py : 각종 필요한 사용자 정의 함수 정의
- metric.py : DNN에서 모델 성능 측정에 필요한 함수 정리
- model.py : DNN 모델 및 해당 모델에 필요한 데이터 셋 정의 함수 정리
- ML_ADH.ipynb : 일자가 중복된 데이터 중 특정한 범위의 데이터에서만 보팅을 수행
- 다수의 데이터의 보팅을 수행해도 성능차이가 크지 않음
- ML_MDH.ipynb : 머신러닝 최소(M) DH를 사용하는 모델 정리(현재 최종 결과물 제출 파일)
- Model.ipynb : DNN 머신러닝 모델 코드
- cluster.ipynb: 클러스터를 접근법 사용 코드
- EDA.ipynb : 전체적인 데이터 분석 코드
-
3시간 강수량 확률(앙상블 모델들을 통해서 나온 값)을 사용하여 누적 강수량을 예측
-
정확한 강수량을 예측하는 회귀 분석 문제가 아닌 강수량의 정도에 따른 구간별 계급을 예측하는 분류분석 문제에 해당
변수 파악
분류 계급 10개 - 강수량이 0.1mm 미만인 경우는 따로 변수 추가 안함
v01 | 0.1mm 이상 강수 | V02 | 0.2mm 이상 강수 |
v03 | 0.5mm 이상 강수 | V04 | 1.0mm 이상 강수 |
v05 | 2.0mm 이상 강수 | V06 | 5.0mm 이상 강수 |
v07 | 10.0mm 이상 강수 | V08 | 20.0mm 이상 강수 |
v09 | 30.0mm 이상 강수 |
물리적 변수 명세
TM_FC | DH, TM_EF |
|
(df.groupby(by=['TM_EF','STN'])['VV'].nunique() > 2).sum()
>> 0 |
(V01 - V09) | 강수계급(classs_interval) |
|
|
- 무강수/강수 분류 모델
- 강수 계급 분류 모델
평가 방법
$CSI = \frac{H}{H+F+M}$
- 월과 일의 데이터 컬럼을 합쳐서 365일을 기준으로 주기성을 넣어주기 위하여 sin 함수와 cos 함수를 사용하여 전처리
- 신뢰성 있는 정보를 사용하기 위해서 다양한 DH 값에 대해서 다양하게 전처리
- 가장 빠른 DH 값만을 가져온다.
- 평균을 적용
- 각각의 확률값은 백분율에서 0~1 사이의 값으로 바꿔줌
- train 데이터와 test 데이터의 지점 데이터가 달라서 STN을 쓰지 않는다.
- 모든 데이터를 계산하고 투표하는 방식을 사용했지만 효과는 그렇게 크지 않음
- 각각의 지점을 크게 4개의 클러스터로 분류해서 class_interval 데이터 분포를 바꿔줌
- 0번째 클러스터: 9,10,11,12,13,14,18,20,22
- 1번째 클러스터: 1,4,5,6,19
- 2번째 클러스터: 15,16,17
- 3번째 클러스터: 2,3,7,8,21,23,24,25
- 모델 위치: "./model/cluster_kmeans.pkl"