데이터 이산화의 기본 개념
데이터 이산화(Data Discretization)는 주어진 연속형 속성의 값 범위를 여러 개의 구간으로 나누어, 해당 속성이 가질 수 있는 값의 수를 줄이는 기법입니다. 각 구간에는 레이블을 붙일 수 있으며, 이 레이블을 통해 실제 데이터 값을 대체할 수 있습니다. 즉, 연속형 속성의 수많은 값을 소수의 구간 레이블로 치환함으로써 원본 데이터를 축소하고 단순화할 수 있습니다.
이러한 과정을 거치면 데이터 마이닝 결과가 간결하고 사용하기 쉬운 지식 수준의 표현으로 정리됩니다. 이산화 기법은 구현 방식에 따라 분류할 수 있는데, 예를 들어 클래스 정보를 활용하는지 여부, 그리고 처리 방향이 상향식인지 하향식인지에 따라 구분됩니다. 이산화 과정에서 클래스 데이터를 사용한다면 이를 지도 학습 기반(supervised) 이산화라고 부르며, 그렇지 않다면 비지도(unsupervised) 이산화라고 합니다.
하향식(Top-Down) 이산화와 분할
전체 속성 범위를 나눌 하나 또는 몇 개의 분할 지점(split point 또는 cut point)을 먼저 찾고, 그 결과로 생긴 구간들에 대해 재귀적으로 같은 과정을 반복하는 방식을 하향식(top-down) 이산화 또는 분할(splitting)이라고 합니다.
상향식(Bottom-Up) 이산화와 병합
반면 상향식(bottom-up) 이산화 또는 병합(merging) 방식에서는 모든 연속형 값을 잠재적인 분할 후보로 간주하는 것에서 시작합니다. 이후 인접한 값들을 병합하여 구간을 형성하면서 일부 분할 후보를 제거하고, 생성된 구간들에 대해 이 과정을 재귀적으로 적용합니다.
개념 계층(Concept Hierarchy)이란?
이산화는 하나의 속성에 대해 재귀적으로 수행될 수 있으며, 이를 통해 속성 값들을 계층적 또는 다중 해상도(multi-resolution)로 분할할 수 있습니다. 이렇게 만들어진 계층 구조를 개념 계층(concept hierarchy)이라고 부릅니다.
개념 계층은 여러 추상화 수준에서 데이터 마이닝을 수행할 때 매우 유용합니다. 특정 수치형 속성에 대한 개념 계층은 곧 그 속성의 이산화 결과를 의미합니다. 개념 계층을 활용하면 낮은 수준의 개념(예: '나이' 속성의 세부 수치)을 더 높은 수준의 개념(예: 청년, 중년, 노년)으로 수집·치환하여 데이터를 줄일 수 있습니다. 이러한 데이터 일반화 과정에서 세부 사항은 감춰지지만, 일반화된 데이터는 오히려 더 의미 있고 처리하기도 간편해집니다.
이산화와 개념 계층의 장점
개념 계층은 여러 마이닝 작업 간에 일관된 데이터 마이닝 결과 설명을 제공하며, 이는 실무에서 흔히 요구되는 사항입니다. 또한 축소된 데이터셋에 대한 마이닝은 입출력(I/O) 연산이 더 적게 필요하고, 일반화되지 않은 원본 데이터셋보다 효율적으로 수행할 수 있습니다. 이러한 장점 때문에 이산화 기법과 개념 계층은 데이터 마이닝 도중이 아니라, 일반적으로 마이닝 이전의 전처리(preprocessing) 단계에서 활용됩니다.
수치형 속성을 위한 개념 계층은 다양한 이산화 방법을 통해 자동으로 생성하거나 동적으로 다듬을 수 있습니다. 아울러 범주형(categorical) 속성에 대한 많은 계층 구조는 데이터베이스 설계 내부에 이미 암묵적으로 포함되어 있어, 스키마 정의 수준에서 자동으로 표현될 수 있습니다.