프로젝트

DACON HD현대 AI Challenge(Data preprocessing)

Beige00 2024. 5. 20. 12:57
더보기

주어진 데이터 구조

ARI_CO 도착항의 소속국가(도착항 앞 2글자)    
ARI_PO 도착항의 항구명(도착항 뒤 글자)    
SHIP_TYPE_CATEGORY 선종 통합 바탕으로 5대 선종으로 분류    
DIST 정박지(ber_port)와 접안지 사이의 거리 km  
ATA anc_port에 도착한 시점의 utc. 실제 정박 시각(Actual Time of Arrival) hour  
ID 선박식별 일련번호    
BREADTH 선박의 폭 m  
BUILT 선박의 연령 year  
DEADWEIGHT 선박의 재화중량톤수 ton  
DEPTH 선박의 깊이 m  
DRAUGHT 흘수 높이 m  
GT 용적톤수(Gross Tonnage)값 GT(m^3)  
LENGTH 선박의 길이 m  
SHIPMANAGER 선박 소유주    
FLAG 선박의 국적    
U_WIND 풍향 u벡터 m/s
ATA 시점 이전에 생성된 예보 데이터
= 정박 시점에 해당 선박의 위치로부터 가장 가까운 관측소의 예보 정보
V_WIND 풍향 v벡터 m/s
AIR_TEMPERATURE 기온 ºC
BN 보퍼트 풍력 계급  
ATA_LT anc_port에 도착한 시점의 현지 정박 시각(Local Time of Arrival)(단위 : H) hour  
PORT_SIZE 접안지 폴리곤 영역의 크기 km^2  
CI_HOUR 대기시간 hour Target

 

=> y_val은 CI_HOUR가 될 것이다.

1. Data preprocessing

- 우선 결측치 정리를 수행하기로 하였다.

확인해보니, BREADTH, DEPTH, DRAUGHT,LENGTH 열에는 1개 씩의 결측치가 존재하였다.

또한 U_WIND,V_WIND,AIR_TEMPERATURE,BN에는 많은 결측치가 존재하였다.

처리 방안을 생각해봤는데, 결측치가 1개인 열은 그냥 그 행을 drop을 해도 데이터의 경향성을 훼손하지 않을 것 같아 drop을 하는 방안으로 결정하였고, 결측치가 전체 행의 3분의 1을 넘어가는 데이터는 drop을 하기에 무리가 있어 평균 값으로 대체를 하는 방안을 선택하였다.

 

-  ATA의 경우:

형식이 위의 사진과 같이 저장되어있는데, 이를 모델에서 다루기 위해 datatime 형식으로 변환하도록 하였다.

 

이 후, 모델을 학습시키기 위해 범주형 데이터를 Label Encoding 처리하였다.

 

여기서 preprocessing을 마무리하였다. 계속 학습을 진행하며 수정 사항이 있으면 수정하도록 하겠다.