Data Preprocessing(3)

8. Data Transformation (데이터 변환)

: 주어진 Attribute에 대한 전체 값 집합을 새로운 값 집합으로 매핑하는 방식 또는 함수

- 데이터 마이닝 프로세스를 더 효율적으로 수행할 수 있고, 발견된 패턴을 보다 쉽게 이해할 수 있도록 함

 

- 데이터 변환 방법

  • Smoothing (평활화) : 데이터에서 노이즈를 제거    ex) Binning, Regression, Clustering
  • Attribute/Feature construction (속성/특성 구축) : Attribute 집합에 새로운 Attribute를 만들거나 추가
  • Aggregation (집계) : 데이터를 요약 또는 합산, 데이터 큐브를 만드는 데에 사용
  • Normalization (정규화) : 데이터의 척도를 조정하여 상대적으로 작은 범위에 들어가도록 함
  • Discretization (이산화) : 데이터 값에 대한 개념 계층을 형성

 

8-1. Normalization (정규화)

1) Min-max normalization (최소-최대 정규화) 

- 원래 데이터의 최솟값과 최댓값을 이용한 식을 통해 값을 새로운 최솟값과 최댓값의 범위 [new_min, new_max] 내의 값으로 변환

 

2) Z-score normalization (Z 스코어 정규화)

- 평균과 표준편차를 이용하여 값을 정규화

 

- 기존 데이터의 평균이 μ이고, 표준 편차가 σ일때, 기존 값 x의 정규화된 값 z는 다음과 같다

 

3) Normalization by decimal Scaling (십진 스케일링 정규화)

- Attribute의 값을 10의 배수 값으로 이동시켜 정규화

- j는 Attribute의 최댓값 Max가 정규화된 수치인 Max(|v'|)가 1보다 작도록 하는 수

    ex) 월급 Attribute의 최댓값이 $5750 이라면 j는 4

 

8-2. Discretization (이산화)

- 연속적인 값으로 이루어진 Attribute의 범위를 구간별로 분리하는 것

    - 구간 별 Label이 구간에 포함된 실제 데이터 값을 대신하여 사용될 수 있음

        -> 이산화를 통한 Data reduction

    - 미리 label를 정하는 지에 따라 Supervised (지도) 와 Unsupervised (비지도)로 나뉨

    - 구간 형성 방향에 따라 Top-down (Split, 하향식) 과 Bottom-up (Merge, 상향식)로 나뉨

    - Discretization은 한 Attribute에 대해 반복적으로 수행될 수 있음

 

- 이산화 방법

  • Binning (비닝) : Top-down, unsupervised 방식
  • Histogram Analysis (히스토그램 분석) : Top-down, unsupervised 방식
  • Clustering analysis (클러스터링 분석) : Unsupervised 방식, Top-down or Bottom-up 방식
  • Decision-tree analysis (의사 결정 나무 분석) : Top-down, supervised 방식
  • Correlation Analysis : Bottom-up, unsupervised 방식    ex) Chi-square 

 

1) Binning (비닝)

- Equal-width (동일 폭) partitioning : 범위를 같은 크기의 N개의 구간으로 분할 (uniform grid)

    - Attribute의 최댓값과 최솟값을 Max와 Min으로 할때, 구간 폭 W는  W= (Max - Min) / N

    - 가장 단순한 방식이지만 outlier들에 의해 bin이 크게 좌우될 수 있음

    - Skewed Data (비대칭 데이터)의 경우 잘 처리되지 않음

 

- Equal-depth (동일 깊이) partitioning : 범위를 같은 수의 sample을 포함하는 N개의 구간으로 분할

    - Data Scaling에 적합한 방법

    - 범주형 데이터를 다루는 데에는 용이하지 않음

 

2) Classification (분류 분석)

- Supervised : class label을 미리 정하는 방식

 

- Top-down 방식, 재귀적으로 split을 수행

 

- ex) 의사 결정 나무 분석

 

3) Correlation Analysis (상관 분석)

- Supervised : class의 정보를 사용

 

- Bottom-up 방식 : 가장 근접한 구간(최소 Chi 값, 클래스 분포 이용)들을 합병함

 

- 정해진 정지 조건을 만족할 때까지, 합병을 반복적으로 수행

 

- ex) Chi-square

 

 

8-3. Concept Hierarchy Generation (개념 계층 생성)

- Concept Hierarchy는 각 개념(Attribute 값)을 계층화하여 조직함

 

- Concept Hierarchy는 Data를 다양한 granularity(입도)로 나타내기 위한 drilling과 rolling을 용이하게 함

 

- Hierarchy 형성을 통해 낮은 계층의 개념을 높은 계층의 개념으로 수집하고 대체하며 데이터의 크기를 줄일 수 있음     ex) 나이(낮은 계층) -> (유아, 청소년, 장년, 노년...) (높은 계층)

 

1) 명목형 data의 Concept Hierarchy Generation

- Attribute의 부분 순서 설정을 사용자나 전문가가 스키마 단계에서 명확히 설정하여 개념 계층 정의

           ex) street < city < state < country

 

- 데이터 그룹화를 통해 부분 계층 설정 

           ex) {Urbana, Champaign, Chicago} ⊂ Illinois

 

- 전체 개념 계층이 아닌 일부 계층만 설정 : 큰 규모의 데이터베이스에서 전체 개념을 정의하는 것은 비현실적임            ex) 일부 값에 대해서만 street < city를 사용

 

- distinct value의 개수를 분석하여 계층을 자동으로 형성  -> 가장 많은 distinct value를 가진 Attribute가  가장 낮은 계층

           ex) distinct value의 수 : street > city > state(province) > country

                계층 :  street < city < state(province) < country

    - 이 방법을 모든 Attribute에 적용시킬 수는 없음 ex) weekday(7), month(12), quarter(4), year(多)

'전공 과목 공부 > 데이터 사이언스' 카테고리의 다른 글

Data Warehousing and OLAP(2)  (0) 2021.04.01
Data Warehousing and OLAP(1)  (0) 2021.03.28
Data Preprocessing(2)  (0) 2021.03.25
Data Preprocessing(1)  (0) 2021.03.17
About Data(3)  (0) 2021.03.17