본문 바로가기
데이터 분석

[머신러닝] 데이터 전처리 - 실수를 줄이는 데이터 확인

by 데이널 2023. 8. 28.

데이터 전처리라고 하면 뭔가 거창하게 생각하거나 단순하게 생각합니다. 통계상으로 분석가들의 70~80% 정도 일량이라고 하니 많은 시간이 소요되는 작업입니다. 이런 이유 때문에 분석 프로젝트 초기에 시간을 절약하려고 샘플 데이터를 받는 방법을 사용합니다. 샘플 데이터를 이용하여 미리 분석을 진행하고 실제 인터페이스 될 경우 적용하게 되기 때문이죠.

 

 

Sample Data는 주로 엑셀, csv 등 파일 형태로 받는 경우는데요. 이메일 또는 저장장칠르 통해 직접 받기도 합니다. 이때 중요한 포인트는 원활한 업무를 위해 신속하게 확인 필요합니다. 아래 빨간색 '필수'라고 표시한 부분은 반드시 수행할 필요가 있는 단계에 대해 표시했습니다. 

 

1. 업무(시나리오) 분석 및 검토 - 필수

초기에 데이터 확인이 이루어 지지 않으면 빈번하게 재요청이 발생합니다. 고객입장에서도 번거로우며 협조가 어려워 집니다. 데이터 검토는 우선 분석 시나리오(업무) 내에서 어떻게 활용한 데이터인지 이해가 우선되어야 합니다. 업무를 통해 수집할 데이터와 다른 연관된 데이터가 있는지 까지 확인하여야 합니다. 만약에 연관 데이터가 있다면 추가 요청이 필요하기 때문입니다. 예를 들어, 원본 데이터의 속성이 코드로 되어 있다면 코드 테이블도 같이 필요합니다. 그리고 데이터적으로 Relation(관계)이 있는 테이블이 있다고 판단되면 같이 분석해야 합니다. 

 

2. 컬럼(속성, 변수) 확인 - 필수

데이터 수집 회의를 통해 미리 협의한 요청 데이터의 해당 컬럼이 모두 존재하는지 확인하는 작업입니다. 여기서 컬럼 유형은 시간단위, 코드, 텍스트(내용), 주소(위경도) 등 나눌 수 있습니다. 이런 유형별로 각각의 컬럼에 속성에 포함된 데이터를 확인하는 것이 좋습니다. 예를 들어, 시간단위는 해당하는 시간이 모두 있는지를 확인하고, 코드 유형인 것은 포함된 전체 코드가 모두 있는지 검토해야 합니다. 위경도는 해당 범위 내에 데이터가 포함되어 있는지를 확인합니다. 

 

컬럼 속성 확인
컬럼 속성 확인

3. 기간 확인 - 필수

다음은 데이터의 기간을 확인해야 합니다. 요청했던 기간에 맞게 데이터가 왔는지를 확인하는 작업으로, 예를 들어 2023년01월 부터 2023년08월까지 데이터라면 해당 기간내에 데이터가 모두 있는지 검토합니다. 이때 min, max 함수를 통해 확인하는 방법 보다는 일별, 시간별 group by절 해서 더 세밀하게 확인하는 것이 좋습니다. 경우에 따라 중간에 일자 또는 시간 데이가 빠진 오는 경우가 있습니다. 중간에 데이터가 없는 경우는 흔하게 발생하며, 일별로 빠지거나, 시간대가 빠진 경우에는 바로 데이터를 재요청해야 합니다. 

 

4. 코드 도메인 확인 - 필수

특별히 코드 컬럼에 대해서는 범위에 대한 분포를 확인하는 것이 좋습니다. 예를 들어, 특정 행정동이 없거나 너무 작은 데이터가 존재한다면 이상하다고 판단할 수 있습니다. 코드에 맞는 값들이 존재하는지 확인하는 방법은 앞에 이야기했듯이 group by로 확인하는 방법이 있습니다. 각 코드별 빈도 확인하여 잘못된 데이터의 경우 전처리를 해주는 방법도 고려해야 합니다. 마지막으로 해당 코드에 대한 설명이 없을 경우 다시 요청을 해야 합니다. 

 

5. 발생규칙 확인 - 필수

발생 규칙은 보통 Primary Key에 맞게 생성되어 있는지 확인하는 작업입니다. 경우에 따라 요청하지 않은 생성규칙으로 보낸 경우도 있습니다. 예를 들어, 기준일자 + 시간대 + 행정동코드 +유입지코드로 발생해야 할 경우 그 유일성을 확인해야 합니다. 행정동 단위로 요청을 했는데, 상위 단위인 구단위로 보내준 경우도 있으니, 이럴 경우도 재 요청해야 합니다. 

 

6. 분포 확인

 

EDA에 앞서 각 컬럼별로 분포 확인하는 작업을 수행합니다. 이 작업은 데이터 쏠림 현상 즉,  Imbalance data를 확인하여 데이터 현상에 맞는 다양한 기법을 고려하기 위해서입니다. 예를 들어, 특정 시간대만 데이터가 거의 발생하지 경우는 비즈니스 상황에 맞는지를 꼭 확인할 필요가 있습니다. NA, null 등 분포와 전체 데이터 대비 비율을 확인해야 합니다. 분포 및 업무규칙은 두 가지 접근방법 활용할 수 있습니다. 통계 분포 및 전체적인 데이터 현황 분석 후 상세 데이터를 확인하는 Top-down 접근 방식과 특정 데이터 기준으로 추적 분석하고 Case별로 상황을 통해 업무를 분석하는 Bottom-up 접근 방식이 있습니다. 

 

데이터 분석 접근법
데이터 분석 접근법

7. 업무 규칙 확인(business rule) : 품질

마지막으로 업무 시나리오 상에서 검토해야 할 업무 규칙(Business Rule) 확인하는 작업입니다. 예를 들어, 업무상 계약일자가 해지일자보다 먼저 와야 하는 규칙이 있을 때 이 규칙에 위배 데이터 데이터가 있는지 확인해 볼 수 있습니다.