우당탕탕 개발일지

[데이터 분석 경진대회] 대기오염 데이터 분석을 통한 예측모델 개발 및 대기질 지수 산정예측 본문

인공지능

[데이터 분석 경진대회] 대기오염 데이터 분석을 통한 예측모델 개발 및 대기질 지수 산정예측

민아당긴아 2024. 9. 28. 10:30

통계학과에서 주관하는 데이터 분석 경진대회에 나가게 되었다.

주제는 대기오염 데이터 분석을 통한 예측모델 개발 및 대기질 지수 산정예측

그런데 "데이터 분석" 경진대회의 탈을 쓴 "인공지능" 경진대회, 자세히 말하면 예측모델을 개발하는 공모전이었다.

그래서 요즘 강제로 인공지능 공부하는중

제공되는 데이터

일단 주어진 데이터는 다음과 같다.

데이터명 설명
train_data 월별/장소별 대기오염 정도를 나타내는 데이터
test_data 월별/장소별 대기오염 정도를 나타내는 데이터
aux_data_DailyPopulation 월별 행정동 단위 서울 생활인구 정보(성별 및 연령대별 인구수)
aux_data_DailyRain 일별 자치구 단위 강수량 정보
aux_data_MonthlyBike 월별 행정동 단위 대여소 단위 자전거 이용정보
aux_data_MonthlyCar 월별 행정동 단위 자동차 등록정보
aux_data_YearlyMountainFire 연도별 자치구 단위 임야화재 발생 면적, 건수
aux_data_StationLocation 행정동 단위 대기 관측소 위도/경도 정보

 

train_data 살펴보기

일단 train_data를 먼저 살펴보면, 구성은 다음과 같다.

대기오염을 예측하는 데에 사용가능한 특성들이 있다.

1. 측정 연도/월

2. 측정 장소

3. 6가지의 대기오염물질 농도

이 특성들을 모델에 인풋해서 Y값(1, 2, 3)을 예측해야 한다.

 

Y값이 categorical variable이기 때문에 분류모델을 써야함을 파악했다.

머신러닝 분류모델에는 어떠한 것들이 있는지 다음에 살펴봐야겠다.

 

데이터 전처리 - 인코딩

특성 중에 범주형 변수(측정 장소)가 있다.

먼저 측정 장소가 50가지인데, 이걸 인코딩해준다.

인코딩은 범주형 데이터를 숫자로 변환해 머신러닝 모델이 처리할 수 있게 만드는 과정이다. 주요 인코딩 방법에는 레이블 인코딩원-핫 인코딩이 있다.

이 중에서 우리는 레이블 인코딩 방식을 사용했다. 

레이블 인코딩은 각 범주를 고유한 숫자로 변환하는 방식이다. 예를 들어, 범주형 변수 ['서울', '부산', '대구']를 [0, 1, 2]로 변환할 수 있다.

encoder = LabelEncoder() # LabelEncoder 객체 생성
encoder.fit(df['location']) # 레이블 인코딩 적용
loc_labeled = encoder.transform(df['location']) # 인코딩 결과