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

데이터 마이닝 분류와 예측의 핵심, 데이터 전처리 3단계 총정리

데이터 마이닝에서 전처리가 중요한 이유

데이터 마이닝에서 분류(Classification)와 예측(Prediction) 모델의 성능은 학습에 사용되는 데이터의 품질에 크게 좌우됩니다. 아무리 뛰어난 알고리즘을 사용하더라도 입력 데이터가 지저분하거나 불필요한 정보를 포함하고 있다면 결과의 정확도와 신뢰성은 떨어질 수밖에 없습니다.

따라서 본격적인 분류나 예측 단계에 앞서, 데이터의 정확도·효율성·확장성을 높이기 위한 사전 처리(Pre-processing) 과정이 필수적입니다. 대표적인 전처리 단계는 다음과 같습니다.

1. 데이터 정제 (Data Cleaning)

데이터 정제는 스무딩(Smoothing) 기법을 활용해 데이터 속 노이즈(잡음)를 제거하거나 줄이는 작업입니다. 또한 결측값(Missing Value)을 처리하는 단계도 포함됩니다.

결측값을 처리하는 방법으로는 다음과 같은 것들이 있습니다.

  • 해당 속성에서 가장 자주 나타나는 값으로 대체
  • 통계 기반으로 추정한 최적의 값으로 보완

물론 많은 분류 알고리즘 자체에 노이즈나 결측 정보를 다루는 메커니즘이 내장되어 있지만, 사전에 데이터를 정제해 두면 학습 과정에서 발생할 수 있는 혼란을 크게 줄일 수 있습니다.

2. 관련성 분석 (Relevance Analysis)

데이터에는 분류나 예측 작업과 전혀 상관없는 속성이 포함되어 있는 경우가 많습니다. 예를 들어, 은행 대출 신청서에 기록된 '신청 요일' 같은 정보는 대출 승인 여부와 거의 무관합니다. 또한 서로 다른 속성이라도 내용이 중복되는 경우도 있습니다.

이러한 불필요하거나 중복된 속성을 제거하기 위해 수행하는 것이 바로 관련성 분석입니다. 머신러닝 분야에서는 이 과정을 특징 선택(Feature Selection)이라고 부릅니다.

불필요한 속성을 그대로 두면 학습 속도를 늦추고, 심한 경우 학습 방향 자체를 잘못 이끌 수 있습니다. 따라서 관련성 분석을 통해 축소된 특징 집합으로 학습하는 데 걸리는 시간이, 원래의 전체 속성으로 학습하는 시간보다 짧아야 의미가 있습니다. 이렇게 하면 분류의 효율성과 확장성을 동시에 향상시킬 수 있습니다.

3. 데이터 변환 (Data Transformation)

데이터 변환은 데이터를 더 높은 수준의 개념으로 일반화(Generalization)하는 작업입니다. 이때 개념 계층(Concept Hierarchy)이 유용하게 활용됩니다.

  • 연속형 속성의 일반화: 예를 들어 '소득(income)'과 같은 연속적인 수치 값을 '낮음·중간·높음'과 같은 이산적인 범주로 변환할 수 있습니다.
  • 명목형 속성의 일반화: '거리(street)'와 같은 세부 명목 값은 '도시(city)'처럼 상위 수준의 개념으로 묶을 수 있습니다.

일반화를 통해 초기 학습 데이터의 규모가 줄어들기 때문에, 학습 과정에서 발생하는 입출력(I/O) 연산 횟수도 함께 감소합니다.

데이터 정규화 (Normalization)

데이터 변환에는 정규화도 포함됩니다. 특히 신경망(Neural Network)이나 거리 측정(Distance Measure)을 활용하는 기법을 사용할 때 정규화는 매우 중요합니다.

정규화란 주어진 속성의 모든 값을 지정된 작은 범위 안으로 조정하는 작업을 말합니다. 일반적으로 -1.0 ~ 1.0 또는 0.0 ~ 1.0 사이의 범위를 사용합니다.

거리 기반 알고리즘에서 정규화가 필요한 이유는 명확합니다. 만약 '소득'처럼 원래 값의 범위가 넓은 속성이 있다면, 정규화하지 않았을 경우 해당 속성이 거리 계산을 지배하여 다른 속성들의 영향력을 왜곡시킬 수 있기 때문입니다. 정규화를 통해 모든 속성이 공평하게 학습에 기여하도록 만들 수 있습니다.

마무리: 좋은 모델은 좋은 데이터에서 나옵니다

지금까지 살펴본 데이터 정제 → 관련성 분석 → 데이터 변환의 세 가지 전처리 단계는 분류 및 예측 모델의 성능을 좌우하는 핵심 과정입니다. 전처리에 투자한 시간만큼 모델의 정확도, 학습 속도, 확장성이 개선되므로, 데이터 마이닝 프로젝트에서 이 단계를 소홀히 해서는 안 됩니다.