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

데이터 축소(Data Reduction)란 무엇일까? 핵심 개념과 5가지 주요 기법

데이터 마이닝은 방대한 데이터베이스에서 선별된 데이터에 적용됩니다. 그런데 막대한 양의 데이터를 대상으로 분석과 마이닝을 수행하면 처리 시간이 매우 오래 걸려 실용성이 떨어지고, 경우에 따라서는 실행 자체가 불가능할 수도 있습니다. 이러한 문제를 해결하기 위해 데이터 축소(data reduction) 기법이 활용됩니다.

데이터 축소는 원본 데이터의 무결성을 유지하면서 분석에 필요한 정보를 담아내는 훨씬 작은 크기의 데이터 표현(reduced representation)을 만드는 과정입니다. 데이터 크기를 줄이면 데이터 마이닝 프로세스의 효율성이 크게 향상되며, 축소 전과 동일한 분석 결과를 얻을 수 있습니다.

데이터 축소의 목적

데이터 축소의 궁극적인 목표는 데이터를 더 간결하게 정의하는 것입니다. 데이터 크기가 작아지면 계산 비용이 많이 드는 정교한 알고리즘도 훨씬 수월하게 적용할 수 있습니다. 축소는 행(레코드)의 수를 줄이는 방식과 열(차원)의 수를 줄이는 방식, 두 가지 관점에서 이루어질 수 있습니다.

데이터 축소의 대표적인 전략

1. 데이터 큐브 집계(Data Cube Aggregation)

데이터 큐브를 구축할 때 집계 연산을 적용하는 방법입니다. 예를 들어, 어떤 전자제품 판매 업체의 2002년부터 2004년까지 분기별 매출 데이터가 있다고 가정해 보겠습니다. 분석 목적이 분기별 매출이 아니라 연간 총매출이라면, 데이터를 집계하여 분기별 데이터 대신 연간 총매출로 요약할 수 있습니다. 그 결과 데이터 세트는 부피가 작아지지만, 분석에 필수적인 정보는 잃지 않습니다.

2. 속성 부분집합 선택(Attribute Subset Selection)

분석에 무관하거나 관련성이 약하거나 중복된 속성(차원)을 찾아 제거하는 방법입니다. 분석 대상 데이터 세트에는 수백 개의 속성이 포함될 수 있으며, 그중 일부는 마이닝 작업과 무관하거나 서로 중복될 수 있습니다. 예를 들어, 신상품 CD 할인 소식을 접한 고객이 실제로 구매할 가능성이 있는지 예측하는 작업에서는 고객의 나이나 음악 취향 같은 속성이 유용하지만, 전화번호 같은 속성은 무관하므로 제거 대상이 됩니다.

3. 차원 축소(Dimensionality Reduction)

인코딩 메커니즘을 사용해 데이터 세트의 크기를 줄이는 방법입니다. 원본 데이터에 인코딩이나 변환을 적용하여 축소되거나 '압축된' 표현을 얻습니다. 만약 압축된 데이터로부터 원본 데이터를 정보 손실 없이 완벽하게 복원할 수 있다면, 이를 무손실(lossless) 축소라고 부릅니다.

4. 수량 축소(Numerosity Reduction)

데이터를 더 작은 대체 표현으로 저장하거나 예측하는 방법입니다. 여기에는 모델 파라미터만 저장하고 실제 데이터는 저장하지 않는 파라미터 모델(parametric model) 방식과, 클러스터링·샘플링·히스토그램 활용 같은 비파라미터(nonparametric) 방식이 모두 포함됩니다.

5. 이산화 및 개념 계층 생성(Discretization & Concept Hierarchy Generation)

속성의 원시 데이터 값을 구간(range)이나 더 높은 개념 수준으로 대체하는 방법입니다. 데이터 이산화는 수량 축소의 한 형태로, 개념 계층의 자동 생성에 매우 유용합니다. 이산화와 개념 계층 생성은 다양한 추상화 수준에서 데이터를 마이닝할 수 있도록 지원하는 강력하고 동적인 도구입니다.

마무리

데이터 축소는 방대한 데이터 환경에서 분석 속도와 효율을 높이는 핵심 전처리 단계입니다. 데이터 큐브 집계부터 이산화에 이르기까지 다양한 기법을 분석 목적에 맞게 조합하면, 원본 데이터의 가치를 온전히 지키면서도 훨씬 빠르고 효율적인 데이터 마이닝을 수행할 수 있습니다.