Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

데이터 정제(Data Cleaning)란 무엇인가? 개념과 유형 총정리

데이터 정제(Data Cleaning, 데이터 클리닝)는 결측값을 적절한 값으로 채우고, 잡음이 섞인 데이터를 평활화하며, 이상치를 분석·제거하고, 데이터 내 불일관성을 해소하는 작업을 의미합니다.

예를 들어, 분석에는 '20-30대', '30-40대', '40-50대'처럼 연령 구간 형태의 데이터가 필요한데, 수집된 원본 데이터에 생년월일만 담겨 있는 경우가 있을 수 있습니다. 이럴 때는 데이터를 필요한 형식에 맞게 분할·변환하여 정제할 수 있습니다.

데이터 정제의 주요 유형

데이터 정제는 처리 대상과 목적에 따라 크게 세 가지로 나눌 수 있습니다.

1. 결측값(Missing Values) 처리

결측값은 적절한 값으로 보완해야 합니다. 대표적인 처리 방법은 다음과 같습니다.

  • 여러 속성에 걸쳐 결측값이 많은 레코드(튜플)는 아예 제외하는 방법
  • 결측값을 사람이 직접 입력하여 채우는 방법
  • 동일한 전역 상수(global constant) 값으로 일괄 채우는 방법
  • 해당 속성의 평균값으로 결측값을 대체하는 방법
  • 통계적 기법으로 추정한 가장 가능성 높은 값(most probable value)으로 채우는 방법

2. 잡음 데이터(Noisy Data) 처리

잡음(noise)이란 측정된 변수에 포함된 무작위 오차 또는 변동을 말합니다. 잡음을 다루기 위한 대표적인 평활화(smoothing) 기법은 다음과 같습니다.

  • 비닝(Binning) — 정렬된 데이터 값을 주변 이웃 값('neighborhood')을 참조하여 평활화하는 방법입니다. 정렬된 값들을 여러 개의 버킷(bin)에 분배한 뒤 각 구간의 값을 조정합니다. 이웃 값을 참조하기 때문에 지역적(local) 평활화 효과를 얻을 수 있습니다.
  • 회귀(Regression) — 데이터를 함수에 맞춰(fitting) 평활화하는 방법입니다. 선형 회귀(linear regression)는 두 속성(변수) 사이에 가장 적합한 '최선의 직선'을 찾아 하나의 속성으로 다른 속성을 예측하는 데 활용됩니다. 두 개 이상의 속성을 사용해 다차원 공간에 데이터를 피팅하는 것은 다중 선형 회귀(multiple linear regression)라고 합니다.
  • 군집화(Clustering) — 군집화는 이상치(outlier)를 식별하는 데 유용합니다. 유사한 값들을 군집(cluster)으로 묶고, 어떤 군집에도 속하지 않는 값을 이상치로 판별합니다.
  • 컴퓨터와 사람의 복합 검토 — 이상치는 컴퓨터와 사람의 검토를 함께 활용해서도 탐지할 수 있습니다. 발견된 패턴 중 특별히 눈에 띄는 놀라운 값들은 목록으로 출력하여 추가 검토 대상으로 삼을 수 있습니다.

3. 비일관성 데이터(Inconsistent Data) 처리

불일관성은 여러 거래(transactions) 과정에서, 데이터 입력 단계에서, 또는 서로 다른 데이터베이스를 통합하면서 발생할 수 있습니다. 상관관계 분석(correlation analysis)을 통해 일부 중복 항목을 찾아낼 수 있으며, 여러 소스에서 온 데이터를 정확하고 체계적으로 통합하면 중복을 줄이고 예방할 수 있습니다.