공공데이터, 날씨, 예측, 데이터 전처리/후처리
AI 공모전 참가 후,
많은 것을 배우고, 느끼고, 깨달음까지 얻을 수 있었다.
너무 오랜만에 글을 이어가려고 하니, 새삼 어색하다.
실제로 산업 분야에서 머신러닝이 때때로 넓고, 깊게 적용되어 사용되고 있다.
하지만!
여전히 사람은 없고, 거쳐야할 사전 프로세싱은 많다.
데이터 엔지니어 포지션이 핫(HOT)한 이유이다.
전에도 언급했지만
전체 머신러닝 과정을 100으로 놓고 데이터 사전 작업의 포션을 대략으로나마 보자면
50 이상이라고 말할 수 있다.
오늘은 공모전을 통해서 새삼 깨닫게 되었던 데이터 전처리/후처리 작업에 대해서 먼저 이야기 하려고 한다.
Suppose level: 하루는 24시간, 1시간은 60분, 분당 하나의 데이터를 가지고 있다고 하자.
Induce Level: 18년 동안 이렇게 데이터를 모으면 1 * 60 * 24 * 365 * 12 * 18 = ??
Result Level: 약 1억 이상의 데이터가 모인다.
이렇게 수집한 데이터를 통해서 무엇을 할 수 있는가?
혹자는 이를 통해서 사회공헌을 생각 할 수 있고
다른 이는 어떻게 하면 돈을 벌 수 있을지 생각한다.
데이터... 주변에 널리고 널린게 데이터이다. 그저 흘려 보내고 있을 뿐이다.
날씨를 예측한다는 것은 사회 전반으로 많은 일들에 도움을 줄 수 있다.
전세계의 구름의 분포, 양(Amount), 흐름도, 기온, 습도 등등의 많은 데이터를 상상해보라.
하지만, 오늘은 공공데이터를 통해서 날씨 데이터를 알아보고 가공하는 부분에 집중해 보려고 한다.
1. Data Download
2. Data Read
3. Data Visualization
날씨 공공데이터는 쉽게 구할 수 있다.
분단위, 시간단위 등의 다양한 Interval Data Set 이 준비되어 있다.
1. 데이터 다운로드
위 Ref 에 있는 링크에서 다운 받을 수 있다. zip 파일셋으로 다운 받는다.
원하는 기간, 위치, 시간 단위를 선택하고 파일셋을 받을 수 있다.
2. 데이터 읽기
Pandas 라이브러리를 활용해서 CSV 파일을 읽고 확인한다.
다양한 데이터 요소들을 df.columns 를 통해서 확인 할 수 있었다.
이 컬럼을 다 사용 할 수 있도 있지만 원하는 컬럼을 선택하고, 원하는 이름으로 바꿀 수 있다.
너무 간단해서 글로 옮기는게 부끄럽다.
사실. 여기서 데이터 가공이 필요한 부분은 바로 Series 데이터 타입의 전처리 / 후처리다.
Interpolate(), Rolling(), dropna(), drop_duplicate() 등등의 많은 함수를 통한 처리가
Pandas 를 사용하여 데이터 가공을 하는 이유이다.
3. 데이터 시각화
간단하게 인덱스를 설정하고 데이터에 '평균기온'에 대해서 시각화를 해본다.
1월 1일 ~ 12월 31일 까지, 1년의 기온에 대한 시각화를 볼 수 있다.
시작부터 어려운걸 시도하지 않았다.
내가 직접 데이터를 관찰하고, 탐색한 과정의 초입을 적어 보았다.
하지만 이 보잘것 없는 시작이
앞으로 더 큰 데이터 셋을 처리함에 있어서 가장 중요한 부분이다.
(2) 편에서는
10년 동안의 날씨 데이터를 모두 읽고, 데이터에 존재하는 Outlier, NaN, Spiky 등의 노이즈 제거 방법 등에 대해서 적어보려고 한다.