코사장의 코딩 놀이터

EDA

6. 데이터 변환

코사장_ 2024. 5. 5. 15:34
반응형

 

데이터 분석에서 데이터 변환은 원본 데이터를 더 유용하거나 분석하기 쉬운 형태로 변경하는 과정을 말합니다. 데이터 변환은 선형 변환과 비선형 변환으로 나눌 수 있습니다. 각각의 변환 방법은 데이터의 특성과 분석 목적에 따라 사용됩니다. 이 글에서는 선형 변환과 비선형 변환의 개념을 소개하고, 각각에 대한 예시를 통해 이해를 돕고자 합니다.

1. 선형 변환 (Linear Transformation)

선형 변환은 데이터의 원래 관계를 유지하면서 모든 데이터 포인트를 일정한 비율로 확장하거나 축소하는 방법입니다. 이 변환은 주로 데이터의 스케일을 조정하거나, 다른 변수와의 비교를 용이하게 하기 위해 사용됩니다.

 

예시: 표준화 (Standardization)

표준화는 데이터에서 평균을 빼고 표준편차로 나누어주는 선형 변환의 한 형태입니다. 이 과정을 통해 데이터의 평균은 0이 되고, 분산은 1이 됩니다. 표준화는 변수 간의 스케일 차이를 제거해주기 때문에, 많은 머신러닝 알고리즘에서 중요한 전처리 단계입니다.

 

예를 들어, 데이터셋에 다음과 같은 수치가 있다고 가정해 보겠습니다.

데이터: [10, 20, 30]

 

이 데이터의 평균은 20이고, 표준편차는 약 8.16입니다. 표준화를 적용하면 다음과 같은 결과를 얻을 수 있습니다.

표준화된 데이터: [(-10/8.16), (0/8.16), (10/8.16)] ≈ [-1.22, 0, 1.22]

2. 비선형 변환 (Non-linear Transformation)

비선형 변환은 데이터의 원래 관계를 비선형적으로 변경하여, 특정 분포를 갖도록 만들거나, 데이터의 특정 특성을 강조하는 데 사용됩니다. 이 변환은 왜곡된 데이터의 분포를 정규화하거나, 변수 간의 비선형 관계를 강조하기 위해 사용될 수 있습니다.

 

예시: 로그 변환 (Log Transformation)

로그 변환은 데이터의 스케일을 줄이고, 큰 값의 영향을 감소시켜 데이터의 분포를 더 정규화된 형태로 만드는 데 도움을 줍니다. 로그 변환은 특히 금융, 생물학 데이터 등에서 값의 스프레드가 클 때 유용합니다.

 

예를 들어, 금액 데이터가 다음과 같이 분포되어 있다고 가정해 보겠습니다.

금액: [100, 1000, 10000]

 

로그 변환을 적용하면, 이 값들은 다음과 같이 변화합니다.

로그 변환된 데이터: [log(100), log(1000), log(10000)] ≈ [2, 3, 4]

 

이 변환을 통해 데이터의 상대적 크기는 유지되면서, 값의 범위가 줄어들어 분석이 용이해집니다.

 

예시: 멱승 변환(Power Transformation)

비선형 데이터 변환의 한 방법으로 멱승 변환(Power Transformation)이 있습니다. 이 변환은 데이터의 분포를 보다 정규화하거나, 특정 분석 목적에 맞게 데이터의 스케일을 조정하는 데 사용됩니다. 멱승 변환은 특히 데이터가 심한 왜곡을 보일 때 유용하며, 이상값의 영향을 줄이고 데이터의 대칭성을 개선할 수 있습니다.

멱승 변환의 개념

멱승 변환은 데이터 각각의 값을 일정한 지수로 거듭제곱하여 변환하는 방법입니다. 이 변환의 일반적인 형태는 다음과 같습니다:

𝑦=𝑥𝜆

여기서 𝑥는 원본 데이터 값이고, 𝑦는 변환된 데이터 값입니다. 𝜆는 변환의 지수로, 이 값에 따라 데이터의 스케일과 분포가 달라집니다. 𝜆의 값에 따라 다양한 유형의 변환이 가능합니다:

  • 𝜆=2: 제곱 변환 (Square Transformation)
  • 𝜆=0.5: 제곱근 변환 (Square Root Transformation)
  • 𝜆=−1: 역수 변환 (Reciprocal Transformation)

멱승 변환의 효과

멱승 변환은 데이터의 스케일을 조정하고 분포의 형태를 변경하여 분석을 용이하게 합니다. 예를 들어, 데이터가 우측으로 긴 꼬리를 가진 경우 제곱근 변환을 적용하면 데이터의 분포가 더 대칭적으로 변할 수 있습니다. 역수 변환은 매우 큰 값들의 영향을 줄이는 데 도움이 될 수 있습니다.

멱승 변환의 예시

데이터셋이 다음과 같다고 가정해 보겠습니다:

데이터: [1, 10, 100, 1000]

이 데이터에 제곱근 변환을 적용하면 다음과 같은 결과를 얻을 수 있습니다:

제곱근 변환된 데이터: [1, 3.16, 10, 31.62]

 

제곱근 변환은 데이터 값의 차이를 줄여주어, 매우 큰 값과 작은 값 사이의 간격을 좁힙니다. 이로 인해 데이터 분석 시 데이터의 극단적인 변동성이 감소하고, 보다 일관된 분석 결과를 얻을 수 있습니다.


데이터 변환은 데이터를 분석하고 모델링하기 전에 매우 중요한 단계입니다. 선형 변환과 비선형 변환은 각각의 특정한 상황에서 데이터를 보다 분석하기 쉬운 형태로 만들어 줍니다. 이를 통해 데이터 과학자와 분석가는 데이터에서 더 깊은 인사이트를 얻을 수 있습니다.

반응형

'EDA' 카테고리의 다른 글

8. 탐색적 데이터 분석(EDA)에서의 4R  (0) 2024.05.06
7. 데이터 선택  (0) 2024.05.05
5. 데이터 결합 기술  (0) 2024.05.05
4. 데이터 전처리의 중요성과 기본 단계  (0) 2024.05.05
3. 데이터 수집과 정제 과정  (0) 2024.05.05