Data Science - 데이터 정규화, 구간화

cosmosJ·2024년 2월 12일

데이터 분석

목록 보기
10/26
post-thumbnail

데이터 변환 (Data Transformation)

데이터 변환이란, 여러 형태로 표현된 데이터를 다양한 분석 방법론에 적용하기 위해 기존 형태에서 다른 형태로 변환하는 것을 의미한다.

쉽게 말해, 주어진 목적에 대해 원하는 결과를 얻기 위해 데이터를 분석에 용이하도록 다른 형태로 바꾸는 것을 의미한다.

데이터 변환의 목적과 특징

  • 빠른 특성 파악

    • 데이터의 특성을 빠르게 파악 가능
    • 파생 변수 생성 및 단순화를 통한 결과 리포팅 등 활용
  • 분석 알고리즘 적용

    • 변수 간 범위가 다를 경우, 알고리즘 적용 시 영향력의 차이가 발생
    • 올바른 학습을 위해 다른 범위를 지닌 변수들의 변환 필요

구간화 (Binning)

구간화란, 연속형 데이터를 구간으로 구별하여, 범주화 형태로 변환하는 것을 의미한다. (ex. 나이 ➡️ 연령대[10대, 20대, ...])

  • 지정 길이 기반 구간 정의

    • 사용자 기준으로 데이터 범위의 간격을 구분하여, 관측치를 나누는 방안
    • 분석가, 도메인 전문가 등의 인적 판단 기준으로 간격을 정하는 방안
    • 비즈니스 관점을 기준으로 단순화 할 시에도 많이 사용
  • 분포 기반 구간 정의

    • 관측치가 각 구간 내 동일한 개수로 구분되도록 나누는 방안
    • 데이터 관점의 구간화 방안
    • 분석가가 사전에 정의한 구간의 개수를 바탕으로 구간화
    • 정해진 구간의 개수에 따라 구간 내 동일한 데이터 수를 가지므로, 구간의 길이는 각각 달라질 수 있다.

정규화 (Normalization)

정규화란, 데이터 탐색 및 기계학습 적용을 위한 연속형 변수 변환 과정이다.

  • 스케일링 기반의 방안으로, 수치 데이터 간의 상대적 크기 차이를 줄이는데 사용된다.
  • 위에서 언급했듯 분석 데이터 간의 동일한 데이터 범위를 가지도록 하기 위해 사용된다.

정규화 방법은 아래와 같다.

  • 최대 - 최소 정규화 (min-max scaling)

    • 데이터 구간을 0과 1 사이로 변환
    • 특정 데이터의 위치 파악
    • x~=x    min(x)max(x)    min(x)\widetilde{x} = \frac{x\; -\; min(x)}{max(x)\; -\; min(x)}
  • Z - 점수 정규화 (표준화)

    • 평균을 0으로, 표준편차를 1로 양쪽으로 데이터 분포
    • 표준 편차를 기반으로 연산을 수행하므로, 데이터 분포가 [0,1]로 결정되어 있지는 않음 (균일하지는 않음)
    • 특정 데이터가 평균으로 부터 얼마나 떨어져 있는지 파악
    • x~=x    x~σx^\widetilde{x} = \dfrac{x \; -\; \widetilde{x}}{\hat{\sigma_x}}

주어진 데이터의 목적에 따라 서로 다른 두 정규화 방법을 적용하게 된다. (보통은 모델이나, 알고리즘에 따라 많이 사용되는 정규화 방법은 있음.)

  • ex. 이미지 분석의 경우, 픽셀 강도를 RGB 범위로 지정해야 하므로, min-max를 많이 사용한다.
  • ex2. PCA(주성분 분석)의 경우, 표준화가 더 많이 사용되는 편이다.

중요한 점은 정규화를 거치지 않은 데이터 보다 정규화를 거친 데이터의 결과 품질이 더 좋다는 것이다.

실습 코드

profile
백엔드, Data Science, AI 분야 학습 내용을 정리하는 블로그입니다.

0개의 댓글