데이터 마이닝에서 신뢰할 수 있는 분석 결과를 얻기 위해서는 무엇보다 데이터 자체의 품질이 중요합니다. 실제 현장에서 수집되는 원시 데이터(raw data)는 대부분 불완전하고, 잡음이 섞여 있으며, 일관성이 떨어지는 경우가 많습니다. 이러한 문제를 사전에 해결하는 과정이 바로 데이터 전처리(Data Preprocessing)입니다.
데이터 전처리는 크게 네 가지 핵심 단계로 구성됩니다. 바로 데이터 정제(Data Cleaning), 데이터 통합(Data Integration), 데이터 축소(Data Reduction), 그리고 데이터 변환(Data Transformation)입니다.
1. 데이터 정제 (Data Cleaning)
데이터 정제는 결측값(missing value)을 채우고, 잡음(noise)이 있는 데이터를 평활화하며, 이상치(outlier)를 식별하거나 제거하고, 불일치(inconsistency)를 해결하는 작업을 통해 데이터를 '깨끗하게' 만드는 과정입니다.
사용자가 데이터가 지저분하다고 인식하면, 해당 데이터로 수행된 데이터 마이닝 결과를 신뢰하지 않을 가능성이 높습니다. 또한 품질이 낮은 데이터는 마이닝 단계 전반에 혼란을 일으켜 불안정한 출력을 초래할 수 있습니다.
일부 마이닝 기법에는 불완전하거나 잡음이 많은 데이터를 다루는 내장 절차가 포함되어 있지만, 항상 효과적이지는 않습니다. 오히려 이러한 기능들은 모델링하려는 함수에 데이터가 과적합(overfitting)되는 것을 방지하는 데 더 집중하는 경향이 있습니다.
2. 데이터 통합 (Data Integration)
데이터 통합은 서로 다른 여러 이질적인(heterogeneous) 데이터 소스의 데이터를 하나로 병합하는 절차입니다. 통합 과정에서는 데이터 중복(redundancy), 불일치, 중복성(duplicity) 등을 반드시 처리해야 합니다.
데이터 마이닝 관점에서 데이터 통합은 여러 이질적인 데이터 소스의 데이터를 일관성 있는(coherent) 데이터로 병합하여 저장하고, 데이터에 대한 통합된 시각(unified view)을 제공하는 전처리 방법입니다.
데이터 통합은 특히 의료 산업에서 그 중요성이 두드러집니다. 여러 환자 데이터와 클리닉의 데이터를 하나의 유용한 정보 체계로 통합하면, 의료진이 질병과 의학적 상태를 보다 정확하게 파악하고 유의미한 인사이트를 도출하는 데 큰 도움이 됩니다.
3. 데이터 축소 (Data Reduction)
데이터 축소의 목표는 데이터를 더 압축적(compact)으로 표현하는 것입니다. 데이터 크기가 작아지면 계산 비용이 많이 드는 정교한 알고리즘도 훨씬 쉽게 적용할 수 있습니다. 데이터 축소는 행(레코드) 수를 줄이는 방식과 열(차원) 수를 줄이는 방식으로 나눌 수 있습니다.
차원 축소 (Dimensionality Reduction)
차원 축소에서는 데이터 인코딩 기법을 활용해 원본 데이터의 축소된, 즉 '압축된' 표현을 얻습니다. 대표적인 예는 다음과 같습니다.
- 데이터 압축 기법: 웨이블릿 변환(wavelet transform), 주성분 분석(PCA)
- 속성 부분집합 선택: 관련 없는 속성 제거
- 속성 생성: 원래 속성 집합에서 더 유용한 소수의 새로운 속성 집합 구성
수량 축소 (Numerosity Reduction)
수량 축소에서는 회귀(regression)나 로그 선형(log-linear) 모델과 같은 파라메트릭(parametric) 모델, 또는 히스토그램, 군집화(clustering), 샘플링(sampling), 데이터 집계(aggregation)와 같은 비파라메트릭(nonparametric) 모델을 사용해 데이터를 더 작은 규모의 대체 표현으로 치환합니다.
4. 데이터 변환 (Data Transformation)
데이터 변환은 요약(summary) 또는 집계(aggregation) 연산을 수행하여 데이터를 마이닝에 적합한 형태로 변환하거나 통합하는 과정입니다. 대표적인 변환 기법은 다음과 같습니다.
평활화 (Smoothing)
데이터에서 잡음을 제거하는 데 사용됩니다. 빈닝(binning), 회귀(regression), 군집화(clustering) 등의 기법이 대표적입니다.
집계 (Aggregation)
데이터에 요약 또는 집계 연산을 적용합니다. 예를 들어 일일 판매 데이터를 집계하여 월간 및 연간 총 매출액을 계산할 수 있습니다. 이 절차는 여러 세부 수준(granularity)에서 데이터를 분석하기 위한 데이터 큐브(data cube)를 구축할 때 널리 활용됩니다.