데이터 전처리의 필요성

실제데이터는 그 자체를 바로 활용하는데 있어 다소 불편하다.

이는 데이터가 불완전(incomplete)하며, 잡음(noisy)이 있고 불일치(inconsistent)하기 때문이다.



일반적인 데이터 전처리 방법

1. 데이터 클리닝(Cleaning)

    – 결측치 대체

    – 잡음 데이터의 평활

    – 이상치의 확인 및 제거

    – 불일치 해결


2. 데이터 통합(Integration)

    – 다양한 로그 파일 및 데이터베이스의 통합

    – 일관성 있는 데이터 형태로 변환


3. 데이터 변환(Transformation)

    – 정규화(normalization)

    – 집합화(Aggregation)

    – 요약(summarization)

    – 계층 생성


4. 데이터 축소(Reduction)

    – 축소된 데이터도 원래 데이터와 같은 분석 결과를 얻을 수 있어야 함.

    – 컴퓨팅 시간 등 고려 위해 데이터 축소가 필요

    – 방대한 로그 데이터의 경우 일정 시간 단위로 데이터 축소 필요


5. 데이터 이산화(Discretization)

    – 데이터 축소의 일종이나 중요시 됨

    – 수치 값을 속성 값으로 변환

      예) [0~0.5) Low, [0.5~1.0] High

    – 많은 알고리즘은 데이터 이산화 과정이 요구됨


6. 데이터 표현 특징 추출(Descriptive Characteristics Mining)

    – 데이터를 더 잘 이해하기 위해 대표 특징을 이해하는 과정

    – 데이터 축소의 일종이기도 함

    – 실제 도메인을 고려한 방법이 많이 사용됨

      예) 가속도 센서: 가속도 특성에 따른 연산 필요

      예) GPS 센서: GPS 데이터 특성에 따른 연산 필요



결측치 처리 방법

1. 해당 튜플 무시

    – 주로 분류 문제에서 클래스 구분 라벨이 빠진 경우

    – 결측치가 자주 발생하는 환경에서는 비효율적


2. 기준에 따라 자동으로 채우기

    – 결측치에 대한 값을 별도로 정의: 예) "unknown“

    – 통계: 전체 평균값, 같은 클래스에 속한 데이터의 평균값

    – 추정: 베이지안 확률 추론, 결정 트리


3. 전문가가 직접 값을 채우기

    – 가장 신뢰성 있으나 시간과 노력 크게 소모

    – 비효율적



잡음 데이터 처리

1. 잡음

    – 의미: 랜덤 에러나 측정된 변수의 변형된 값

    – 발생원인: 센서의 작동 실패, 데이터 엔트리(기입, 표기) 문제, 데이터 전송 문제, 기술적인 한계, 데이터 속성값의 부정확성

 

2. Bining

    – 데이터를 정렬한 다음 일정한 주파수 단위의 bins로 나누고 대표값으로 변환

    – 구간 단위별로 잡음 제거 및 데이터 축약 효과

    – 사용되는 대표값: 평균, Median 등

 

3. Regression

    – 데이터를 가장 잘 표현하는 추세 함수를 찾아서 이 함수의 값을 사용

 

4. 클러스터링

    – 비슷한 성격을 가진 클러스터 단위로 묶은 다음 outlier 제거



데이터 통합

1. 데이터 통합

    – 다양한 소스로부터 얻은 데이터를 일관성있는 하나의 데이터로 합치는 것

 

2. 스키마 통합

    – 다양한 소스의 데이터의 메타데이터를 통합

 

3. 데이터 통합시의 문제 및 해결책

    – 중복 문제: 같은 내용의 데이터가 다른 이름으로 들어가 있는 것

      • 해결책: 연관관계 분석 등을 통해 중복데이터 검출 필요


    – 일관성 문제: 계산/통계를 통해 얻을 수 있는 값이 틀린 경우

      • 해결책: 계산에 의해 검증 필요


    – Entity 확인 문제: 통합 대상 entry가 정말 동일한지 여부

      • 해결책: 검사 필요


    – 다른 표현 문제: 예를 들어, 계량/계측 단위가 다른 것; 파운드와 kg

      • 표현 일치 과정 필요


    – 다른 스케일(mm 와 cm)에 의한 통합 문제

      • 스케일 변환 과정 필요


    – 상관 분석을 통해 문제 발견 및 해결

      • 0에 가까울수록 서로 무관



데이터 변환

1. Smoothing

    – 데이터로부터 노이즈를 제거하기 위해 데이터 추세에 벗어나는 데이터를 추세에 맞게 변환하는 방법

 

2. Aggregation

    – 요약하고 데이터 큐브를 생성하는 방법이다.

 

3. Generalization

    – 특정 구간에 분포하는 값으로 스케일을 변화시키는 방법이다.

 

4. Normalization

    – min-max normalization

    – z-score normalization

    – normalization by decimal scaling

 

5. Attribute/feature construction

    – 데이터 통합을 위해 새로운 속성이나 특징을 만드는 방법

    – 주어진 여러 데이터 분포를 대표할 수 있는 새로운 속성/특징 활용



데이터 축소

1. 데이터 축소

    – 적은 양으로도 전체 데이터 집합을 잘 대표하는 데이터 얻는 과정

    – 대규모 데이터의 작업시 분석에 필요한 줄이고 효율성을 향상시키기 위해 필요


2. 차원 축소 방법

    – 여러 속성 중 분석하는데 관계없거나 중복되는 속성을 제거

    – 속성의 최소 집합을 찾음

    – Stepwise forward selection 방법: 공집합에서 시작해서 하나씩 속성을 추가

    – Stepwise backward elimination 방법: 전체 집합에서 시작해서 하나씩 삭제


3. 데이터 압축

    – 데이터 인코딩이나 변환을 통해 데이터 축소

    – 아무런 손실 없이 다시 구할 수 있다면 압축 기법은 lossless : 예) BMP 포맷

    – 데이터의 손실이 있을 경우에는 lossy : 예) JPEG 포맷


4. Discrete wavelet transform (DWT)

    – 선형의 신호를 처리하는 기술

    – 수는 다르지만 길이는 같은 벡터(wavelet coefficients)로 변환

    – 여러 개의 벡터 중에서 가장 영향력이 큰 벡터를 선택해서 다른 벡터들을 제거

    – 데이터 평활화 작업 없이도 잡음 제거 효과


5. Principal components analysis (PCA)

    – 데이터를 가장 잘 표현하고 있는 직교상의 데이터 벡터들을 찾아서 데이터 압축

    – 속성들을 선택하고 다시 조합시켜서 다른 작은 집합을 만듦

    – 계산하는 과정이 간단하고 정렬되지 않은 속성들도 처리 가능

    – 빈약한 데이터나 일률적인 데이터 처리 가능

    – 일반적으로 PCA는 빈약한 데이터를 WT는 고차원의 데이터를 처리하는데 유용


6. Numerosity Reduction

    – 데이터를 더 작은 형태로 표현해서 데이터의 크기 줄임

    – 1) 데이터 파라미터만 저장: 예) Log-linear 모델

    – 2) 기존의 데이터에서 축소된 데이터를 저장: 예) 히스토그램, 클러스터링