데이터의 특성은 군집 분석(cluster analysis)의 결과와 성능에 큰 영향을 미칩니다. 군집 분석을 수행하기 전에는 반드시 데이터가 가진 특징을 파악하고, 이에 맞는 알고리즘과 전처리 방법을 선택해야 합니다. 아래에서는 군집 분석에 강력한 영향을 주는 대표적인 데이터 특성들을 살펴보겠습니다.
1. 고차원성(High Dimensionality)
고차원 데이터셋에서는 단위 부피당 점의 개수로 정의되는 기존 유클리드 밀도 개념이 크게 왜곡됩니다. 차원이 증가할수록 부피는 기하급수적으로 커지는데, 데이터 포인트 수가 차원 수만큼 지수적으로 늘어나지 않으면 밀도는 0에 수렴하게 됩니다.
또한 고차원 공간에서는 근접성(proximity)이 더욱 균일해지는 경향이 있습니다. 두 점 사이의 거리에 기여하는 차원(속성)이 많아질수록 각 속성 간의 차이가 상쇄되어, 서로 다른 객체들 간의 거리가 비슷해지기 때문입니다.
대부분의 군집화 기법은 근접성이나 밀도에 의존하기 때문에 고차원 데이터에서 어려움을 겪습니다. 이러한 문제를 해결하는 대표적인 방법 중 하나는 차원 축소(dimensionality reduction) 기법을 활용하는 것입니다.
2. 크기(Size)
일부 군집화 알고리즘은 소규모 또는 중간 규모의 데이터셋에서는 잘 작동하지만, 대용량 데이터셋을 처리하지 못하는 경우가 많습니다. 따라서 데이터의 규모를 고려하여 확장 가능성(scalability)이 검증된 알고리즘을 선택하는 것이 중요합니다.
3. 희소성(Sparseness)
희소(sparse) 데이터는 비대칭(asymmetric) 속성을 포함하는 경우가 많습니다. 비대칭 속성에서는 0 값이 0이 아닌 값보다 덜 중요하게 취급됩니다. 예를 들어, 장바구니 분석에서 고객이 구매하지 않은 상품(0)보다 구매한 상품(1)이 분석에 더 의미 있는 정보를 제공합니다.
따라서 희소 데이터를 다룰 때는 비대칭 속성에 적합한 유사도(similarity) 측정 방법을 사용하는 것이 일반적입니다.
4. 노이즈와 이상치(Noise and Outliers)
단 하나의 이상치(outlier)도 군집화 알고리즘의 성능을 심각하게 저하시킬 수 있습니다. 특히 K-means와 같은 프로토타입 기반(prototype-based) 알고리즘은 이상치에 매우 민감합니다. 또한 노이즈는 단일 연결(single link) 방식처럼 원래는 병합되면 안 되는 군집들을 잘못 결합하도록 만들 수 있습니다.
일반적으로 군집화 알고리즘을 적용하기 전에 노이즈와 이상치를 제거하는 전처리 과정을 거칩니다. 또한 일부 알고리즘은 군집화 과정 자체에서 노이즈나 이상치로 판단되는 포인트를 식별하여 제거하거나, 그 부정적인 영향을 최소화하는 기능을 제공합니다.
5. 속성 및 데이터셋 유형(Type of Attributes and Data Set)
데이터셋은 구조화(structured) 데이터, 그래프(graph) 데이터, 순서형(ordered) 데이터 등 다양한 유형으로 존재합니다. 속성 역시 범주형(categorical, 명목형 또는 순서형)이거나 수치형(quantitative, 구간형 또는 비율형)일 수 있으며, 이진(binary), 이산(discrete), 연속(continuous) 형태로 구분됩니다.
유사도와 밀도 측정 방식은 데이터 유형에 따라 적합성이 달라집니다. 여러 상황에서 원하는 근접성 측정 방식이나 군집화 알고리즘을 적용하기 위해 데이터를 이산화(discretization)하거나 이진화(binarization)해야 할 수 있습니다.
또 다른 어려움은 속성들의 유형이 크게 다를 때 발생합니다. 예를 들어 연속형 속성과 명목형 속성이 함께 존재하는 경우, 근접성과 밀도를 정의하기가 훨씬 복잡해지고 임시방편적(ad hoc)인 처리가 필요할 수 있습니다. 마지막으로, 특정 유형의 데이터를 효율적으로 처리하기 위해서는 그에 맞는 특수한 데이터 구조와 알고리즘이 요구되기도 합니다.
6. 척도(Scale)
키와 몸무게처럼 서로 다른 속성들은 서로 다른 척도(scale)로 측정될 수 있습니다. 이러한 척도의 차이는 두 객체 간의 거리나 유사도에 강력한 영향을 미치며, 결과적으로 군집 분석의 결과를 좌우합니다.
예를 들어, 사람들을 키(미터 단위)와 몸무게(킬로그램 단위)를 기준으로 군집화한다고 가정해 봅시다. 키는 보통 1.5~2.0 사이의 값을 가지지만, 몸무게는 50~100 사이의 값을 가집니다. 척도를 조정하지 않으면 몸무게의 차이가 키의 차이보다 훨씬 크게 계산되어, 군집화 결과가 몸무게에 편향되게 됩니다. 따라서 표준화(standardization)나 정규화(normalization)와 같은 척도 조정 작업이 필수적입니다.
마무리
군집 분석의 성공 여부는 데이터 특성에 대한 깊은 이해에서 출발합니다. 고차원성, 데이터 크기, 희소성, 노이즈와 이상치, 속성 유형, 척도 등의 요소를 사전에 면밀히 검토하고 적절한 전처리와 알고리즘을 선택한다면, 보다 신뢰할 수 있는 군집화 결과를 얻을 수 있습니다.