데이터 전처리의 중요성

2021-06-19

.

Data_Preprocessing_TIL(20210619)

[학습자료]

패스트캠퍼스 온라인 강의 “파이썬을 활용한 데이터 전처리 Level UP 올인원 패키지 Online.” 를 공부하고 정리한 내용입니다.

URL : https://fastcampus.co.kr/data_online_preprocess

[데이터 전처리 기본개념과 중요성]

  • 현실데이터는 분석목적에 맞게 정리되어 있지 않기 때문에 데이터 분석 기법을 그대로 적용하는 것은 현실적으로 불가함.

예를들어서 노이즈가 포함된 데이터, 결측 데이터, 파편화된 데이터(데이터가 하나의 테이블에 있는 것이 아니라 여러테이블에 산재되어 있는 케이스) 등등.. 이런 경우가 상당히 빈번하기 때문이다.

  • 실제사례 1. 최근 10년의 주문서 데이터를 바탕으로 월별 수요예측을 하는 프로젝트

기계가 구동중인 상태의 데이터를 받았는데 데이터가 5000개가 넘는 csv 파일이 있었고 폴더별로 정리가 전혀 안된 상태였다. 또한 데이터를 열어보니까 파일들이 통일이 되어있지 않은 셀 포맷(셀의 위치와 셀 이름이 다른경우)이었다. 이 5000개를 파일들을 다 까보면서 어떤 셀위치에 어떤 데이터가 있는지 체크해야하는 상당히 어려운 사례가 있다.

1

  • 실제사례 2. 공장의 기계가 언제 고장날지 예측하는 프로젝트

아래 그림에서 collected data에서 데이터가 시간순서대로 정렬되어 있지 않거나, dtype이라는 컬럼에서는 sss라는 데이터와 cnc라는 데이터 타입이 혼합되어 있는 형태 그리고 결측데이터가 있는등 데이터 분석에 좋지 못한 형태의 데이터를 받아서 어려움이 있었다.

2

  • 실제사례 3. 홈쇼핑 매출예측을 통한 방송편성표 최적화 프로젝트

기존 홈쇼핑 방송 기록을 바탕으로 상품별 매출을 예측하고, 매출을 최대화하는 방향으로 방송을 편성하는 프로젝트였다. 위에 두 사례보다는 데이터가 상당히 정리가 잘되어 있는 편이다. 겉으로 보기에는 데이터가 잘 정리되어 있는것 처럼 보이나 실제로는 분석목적에 부합하지 않는 구조의 데이터이다. 상품별 매출을 예측하기 위해서는 하나의 레코드가 하나의 방송이어야 할 것이다. 하지만 아래의 데이터는 여러개의 레코드가 같은 편성의 방송ID인 것처럼 여러 레코드가 하나의 방송편성을 표현하고 있는데 이는 불필요하다. 결론적으로 불필요한 데이터만 많이 있고, 분석목적에 부합하지 않는 데이터라고 할 수 있다.

3

  • 데이터 분석 프로젝트에서 데이터 전처리는 필수과정이며 대부분의 분석가들이 데이터 전처리 과정에 대부분의 시간을 투입한다.

  • 데이터 전처리를 하여 얻을 수 있는 이득

1) 효울적인 데이터 분석을 가능하게 함. 더 나아가서 데이터 전처리를 하지 않으면 데이터 분석 자체를 할 수 없는 경우도 있다.

2) 불필요한 정보를 제거하여 인사이트를 얻는데 도움이 된다.

3) 머신러닝 모델의 성능을 향상시킬 수 있다.

[데이터 전처리를 잘 하는 방법]

방법 1. 데이터를 많이 다루어 봐야 한다. 즉 경험을 많이 쌓아야 한다.

방법 2. 전처리된 결과 데이터를 구상해라

데이터 전처리 결과인 전처리된 데이터 구조를 미리 구상해야지 불필요한 피드백 루프를 막을 수 있다.

아래 그림과 같이 구매기록 데이터를 바탕으로 어떤 추천시스템을 구현한다고 할때 원래의 데이터를 전처리 후의 데이터가 이렇게 될것이다라고 구상을 미리 해놓아야 한다는 것이다.

4

방법 3. 전처리 과정에 대해서도 구상해라

원래 데이터를 전처리한 결과 데이터로 바꾸기 위한 과정을 단계별로 정의해야 한다.

데이터를 전처리할때 아래 그림과 같이 어떠한 과정으로 처리를 할지 process도 구상을 해야한다.

image

방법 4. 구글링을 잘해야 한다.

검색 팁 : python, 모듈, how, 내용 을 포함해준다.

ex) python pandas how to reorder columns