속성(attribute)이 이산적(discrete)이라는 것은 해당 속성이 가질 수 있는 값의 수가 상대적으로 적고 유한하다는 의미입니다. 반면 연속적(continuous) 속성은 가질 수 있는 값의 수가 매우 많거나 무한하다고 간주됩니다.
다르게 표현하면, 이산형 데이터 속성은 치역(range)이 유한한 집합인 함수로 볼 수 있으며, 연속형 데이터 속성은 치역이 무한하고 완전히 순서화된 집합, 즉 일반적으로 하나의 구간(interval)인 함수로 볼 수 있습니다.
이산화(Discretization)의 목적
이산화는 연속 속성이 가질 수 있는 값의 수를 줄이기 위해 그 범위를 여러 개의 구간으로 나누는 작업을 말합니다. 이산화 문제에는 크게 두 가지 접근 방식이 존재합니다.
첫 번째는 학습 데이터에 포함된 인스턴스들의 클래스 정보를 활용하지 않고 각 속성을 양자화하는 방식으로, 이를 비지도 이산화(unsupervised discretization)라고 합니다. 두 번째는 이산화 과정에서 클래스 정보를 함께 고려하는 지도 이산화(supervised discretization)입니다. 클래스가 알려져 있지 않거나 아예 존재하지 않는 군집화(clustering) 문제를 다룰 때는 전자가 유일한 선택지가 됩니다.
등폭 구간화(Equal-width Binning)의 원리와 한계
수치형 속성을 이산화하는 가장 직관적인 방법은 속성의 범위를 미리 정해진 개수의 동일한 폭을 가진 구간으로 나누는 것입니다. 이는 데이터에 의존하지 않는 고정된 기준으로, 일반적으로 데이터를 수집하는 시점에 수행됩니다.
그러나 비지도 이산화 방식은 경계를 너무 거칠게 설정하여 학습 과정에서 유용했을 미세한 구분을 해치거나, 경계 선택이 잘못되어 서로 다른 클래스에 속하는 여러 인스턴스들을 불필요하게 하나의 구간으로 묶어버릴 위험이 있습니다.
불균형한 인스턴스 분배 문제
등폭 구간화(equal-width binning)는 인스턴스들을 매우 불균형하게 분배하는 경향이 있습니다. 어떤 구간에는 수많은 인스턴스가 몰리는 반면, 다른 구간에는 단 하나의 인스턴스도 들어 있지 않을 수 있습니다. 이는 해당 속성이 좋은 결정 구조(decision structure)를 만드는 데 기여하는 능력을 심각하게 저해할 수 있습니다.
등빈도 구간화(Equal-frequency Binning)
따라서 구간의 크기를 서로 다르게 허용하고, 각 구간에 비슷한 수의 학습 예제가 포함되도록 경계를 선택하는 것이 더 바람직합니다. 이러한 방법을 등빈도 구간화(equal-frequency binning)라고 하며, 해당 축을 따른 인스턴스의 분포를 기반으로 속성의 범위를 미리 정해진 개수의 구간(bin)으로 나눕니다.
결과적으로 만들어지는 구간들의 히스토그램을 그려 보면 대체로 평평하게 나타나기 때문에 이 방법은 '히스토그램 평활화(histogram equalization)'라고도 불립니다. 구간을 하나의 자원(resource)으로 본다면, 등빈도 구간화는 그 자원을 가장 효율적으로 활용하는 방법이라 할 수 있습니다.
클래스 정보를 고려하지 않는 한계
그러나 등빈도 구간화 역시 인스턴스의 클래스 정보에는 무관심하기 때문에 나쁜 경계를 만들어낼 수 있습니다. 예를 들어, 어느 구간의 인스턴스들이 한 클래스에 속하고, 그다음 더 큰 구간의 인스턴스들은 다른 클래스에 속하는데 첫 번째 인스턴스만 앞선 클래스를 따른다고 가정해 봅시다. 이 경우라면 클래스 구분을 존중하여 그 첫 번째 인스턴스를 앞쪽 구간에 포함시키는 것이 합리적입니다. 즉, 균일 빈도라는 특성을 일부 희생하더라도 동질성(homogeneity)을 확보하는 편이 낫습니다.