수치형 속성에 대한 개념 계층(concept hierarchy)을 정의하는 일은 적용 가능한 데이터 범위가 매우 다양하고 데이터 값이 자주 갱신되기 때문에 복잡하고 많은 노력이 필요한 작업입니다. 이러한 이유로 수치형 데이터를 위한 개념 계층 생성에는 여러 가지 방법이 활용되고 있습니다. 대표적인 기법을 하나씩 살펴보겠습니다.
1. 빈닝(Binning)
빈닝은 미리 정의된 구간(bin)의 개수를 기준으로 데이터를 나누는 상향식(top-down) 분할 기법입니다. 이 방법은 데이터 양 축소(numerosity reduction)와 개념 계층 생성을 위한 이산화(discretization) 방법으로도 활용됩니다.
빈닝 기법은 결과로 만들어진 파티션에 재귀적으로 적용하여 다단계 개념 계층을 구성할 수 있습니다. 다만 클래스(class) 정보를 사용하지 않는 비지도 학습(unsupervised) 이산화 기법이기 때문에, 사용자가 지정하는 구간의 개수나 이상치(outlier)의 존재에 민감하게 영향을 받는다는 한계가 있습니다.
2. 히스토그램 분석(Histogram Analysis)
빈닝과 마찬가지로 히스토그램 분석 역시 클래스 정보를 사용하지 않는 비지도 이산화 기법입니다. 히스토그램은 속성 A의 값들을 '버킷(bucket)'이라 불리는 서로 겹치지 않는 범위로 분할합니다.
예를 들어 등폭(equal-width) 히스토그램에서는 가격 값을 $10씩 동일한 폭을 가진 구간으로 나눕니다. 반면 등빈도(equal-frequency) 히스토그램에서는 각 구간에 동일한 수의 데이터 튜플이 포함되도록 값을 분할합니다.
히스토그램 분석 알고리즘은 각 파티션에 재귀적으로 적용하여 다단계 개념 계층을 자동으로 생성할 수 있으며, 사전에 지정된 개념 계층의 깊이에 도달하면 절차가 종료됩니다. 또한 각 계층마다 최소 구간 크기를 설정하여 재귀 과정을 제어할 수 있는데, 이는 파티션의 최소 폭 또는 각 파티션이 가져야 할 최소 값 개수를 의미합니다.
3. 엔트로피 기반 이산화(Entropy-Based Discretization)
엔트로피는 널리 사용되는 이산화 척도로, 정보 이론(information theory)과 정보 획득(information gain) 개념을 개척한 클로드 섀넌(Claude Shannon)의 연구에서 처음 소개되었습니다.
엔트로피 기반 이산화는 지도 학습(supervised) 방식의 상향식 분할 기법입니다. 이 기법은 분할 지점(split point), 즉 속성 범위를 나누는 데이터 값을 계산하고 결정하는 과정에서 클래스 분포 정보를 적극적으로 활용합니다. 덕분에 클래스 정보를 반영한 보다 정교한 이산화가 가능합니다.
4. 군집 분석(Cluster Analysis)
군집 분석은 널리 쓰이는 데이터 이산화 방법입니다. 군집화(clustering) 알고리즘을 적용하면 수치형 속성 A의 값들을 여러 클러스터(그룹)로 분할하여 이산화를 수행할 수 있습니다.
군집 분석은 속성 A의 분포와 데이터 포인트 간의 근접성을 모두 고려하기 때문에 고품질의 이산화 결과를 얻을 수 있다는 장점이 있습니다. 또한 상향식 분할 전략 또는 하향식 병합(bottom-up merging) 전략 중 하나를 따라 개념 계층을 생성할 수 있으며, 이때 각 클러스터는 개념 계층의 노드(node)가 됩니다.
마무리
정리하면, 빈닝과 히스토그램 분석은 클래스 정보 없이 작동하는 비지도 기법이고, 엔트로피 기반 이산화는 클래스 분포를 활용하는 지도 기법이며, 군집 분석은 데이터의 분포와 밀도를 함께 고려해 유연하게 계층을 구성할 수 있는 방법입니다. 데이터의 특성과 분석 목적에 맞는 기법을 선택하는 것이 효과적인 개념 계층 생성의 핵심입니다.