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

데이터 일반화란? 개념부터 OLAP·속성 지향 유도 방식과 분석 일반화까지 총정리

데이터 일반화(Data Generalization)란 무엇인가?

데이터 일반화는 비교적 낮은 수준의 세부 값들을 더 높은 수준의 개념으로 대체하여 데이터를 요약하는 기법입니다. 예를 들어, '나이' 속성의 구체적인 숫자 값을 청년(young), 중년(middle-aged), 노년(senior)과 같은 상위 개념으로 바꾸는 것이 대표적인 사례입니다.

즉, 데이터 일반화는 데이터베이스에 저장된 방대한 양의 작업 관련 정보를 상대적으로 낮은 개념 수준에서 더 높은 개념 수준으로 추상화하는 과정이라고 할 수 있습니다.

대용량 데이터 집합을 효율적으로 일반화하는 두 가지 접근 방식

1. OLAP 방식

OLAP 방식에서 활용되는 데이터 큐브(data cube) 기술은 데이터 웨어하우스에 기반하고, 사전 계산(pre-computation)을 지향하며, 구체화 뷰(materialized view) 방식으로 이해할 수 있습니다. 이 방식은 OLAP 질의나 데이터 마이닝 질의가 처리되기 전에 오프라인 상태에서 집계 작업을 미리 수행합니다.

2. 속성 지향 유도(Attribute-Oriented Induction) 방식

속성 지향 유도 방식은 관계형 데이터베이스 질의에 기반한, 일반화 중심의 온라인 데이터 분석 기법입니다. 먼저 관계형 데이터베이스 질의를 통해 작업과 관련된 데이터를 수집한 후, 해당 데이터 집합 내 각 속성이 가진 다양한 고유 값들을 검토하여 일반화를 수행합니다.

일반화는 속성 제거(attribute removal)를 통해 구현되며, 동일하게 일반화된 튜플들을 병합하고 각각의 카운트(빈도)를 누적하는 방식으로 집계가 이루어집니다. 이를 통해 일반화된 데이터 집합의 크기를 줄이고, 사용자와의 상호작용을 통한 효과적인 결과 제시가 가능해집니다.

속성 지향 유도 방식의 기본 원리

  • 데이터 포커싱(Data Focusing) — 분석 대상 데이터는 반드시 작업과 관련된 것이어야 하며, 차원(dimension) 등이 여기에 해당합니다. 그 결과물은 원래의 관계(relation)로 나타납니다.
  • 속성 제거(Attribute Removal) — 속성 A에 대해 고유 값의 수가 매우 많은데 A에 적용할 수 있는 일반화 연산자가 없거나, A의 상위 개념이 다른 속성들로만 정의되는 경우 해당 속성을 제거하거나 관련 속성 집합을 선택할 수 있습니다.
  • 속성 일반화(Attribute Generalization) — 속성 A의 고유 값이 매우 많고, A에 적용 가능한 일반화 연산자 집합이 존재한다면 연산자를 선택하여 A를 일반화합니다.
  • 분석적 특성화(Analytical Characterization) — 데이터 전처리 단계에서 통계적 기법을 활용해 관련 없는 속성을 걸러내거나 관련 속성의 순위를 매기는 방법입니다. 속성 관련성 분석을 통해 개념 설명 과정에서 불필요한 속성을 걸러낼 수 있으며, 이러한 전처리 단계를 클래스 특성화(class characterization)나 클래스 비교(class comparison)에 포함하는 것을 분석적 특성화라고 정의합니다.

속성 관련성 분석(Attribute Relevance Analysis)이 필요한 이유

속성 관련성 분석은 다음과 같은 이유로 수행됩니다.

  • 어떤 차원(속성)을 분석에 포함해야 하는지 판단할 수 있습니다.
  • 더 높은 수준의 일반화를 달성할 수 있습니다.
  • 속성의 수를 줄여 복잡한 패턴을 더 쉽게 이해할 수 있도록 도와줍니다.

속성 관련성 분석의 기본 개념은 주어진 클래스나 분석 목표에 대해 각 속성이 얼마나 관련성이 높은지를 측정하는 척도를 평가하는 것입니다. 대표적인 척도로는 정보 이득(information gain), 모호성(ambiguity), 상관계수(correlation coefficient) 등이 있습니다.