본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 데이터 전처리하기: 정규화와 표준화

by 포탈메이커 2023. 7. 12.

파이썬으로 데이터 전처리하기: 정규화와 표준화

데이터 전처리는 데이터 분석 또는 머신러닝 모델 학습을 위해 데이터를 사전에 처리하는 과정을 의미합니다. 이 중에서도 정규화와 표준화는 데이터의 스케일을 조정하는 기법으로 주로 사용됩니다. 이번 포스팅에서는 파이썬을 사용하여 데이터를 정규화하고 표준화하는 방법에 대해 알아보겠습니다.

1. 정규화(Normalization)

정규화는 데이터의 스케일을 0과 1 사이로 조정하는 방법입니다. 정규화를 통해 데이터 간의 상대적인 크기 차이를 제거하고 동일한 기준으로 비교할 수 있게 됩니다.

파이썬 코드를 통해 정규화를 할 때에는 sklearn.preprocessing 모듈의 MinMaxScaler 클래스를 사용합니다. 아래는 해당 클래스의 사용 예시입니다.

```python from sklearn.preprocessing import MinMaxScaler

데이터 생성

data = [[10, 5], [9, 2], [15, 4], [10, 6], [12, 3]]

MinMaxScaler 객체 생성

scaler = MinMaxScaler()

데이터 정규화

normalizeddata = scaler.fittransform(data)

print(normalized_data) ```

위의 코드를 실행하면 데이터가 0과 1 사이의 값을 갖도록 정규화 됩니다.

2. 표준화(Standardization)

표준화는 데이터의 평균을 0으로, 분산을 1로 조정하는 방법입니다. 표준화를 통해 데이터의 스케일을 일정하게 맞출 수 있으며, 이상치에 덜 민감한 모델을 학습할 수 있게 됩니다.

파이썬 코드를 통해 표준화를 할 때에는 sklearn.preprocessing 모듈의 StandardScaler 클래스를 사용합니다. 아래는 해당 클래스의 사용 예시입니다.

```python from sklearn.preprocessing import StandardScaler

데이터 생성

data = [[10, 5], [9, 2], [15, 4], [10, 6], [12, 3]]

StandardScaler 객체 생성

scaler = StandardScaler()

데이터 표준화

standardizeddata = scaler.fittransform(data)

print(standardized_data) ```

위의 코드를 실행하면 데이터가 평균 0, 분산 1을 갖도록 표준화 됩니다.

3. 정규화 vs. 표준화

정규화와 표준화는 데이터의 스케일을 조정하는 목적은 동일하지만, 처리 방법이 다릅니다. 정규화는 데이터의 최소값과 최대값을 이용하여 스케일을 조정하고, 표준화는 평균과 표준편차를 이용합니다.

데이터에 따라 적절한 방법을 선택해야 합니다. 일반적으로 데이터가 정규분포를 따른다고 가정할 때, 표준화가 더 좋은 결과를 얻을 수 있습니다. 하지만 일부 알고리즘은 0과 1 사이의 값을 가지는 데이터를 선호하기 때문에, 이 경우에는 정규화가 적합할 수 있습니다.

마치며

이번 포스팅에서는 파이썬을 사용하여 데이터를 정규화와 표준화하는 방법에 대해 알아보았습니다. 데이터 전처리는 분석 및 모델 학습에 있어 매우 중요한 단계이므로, 적절한 전처리 방법을 선택하여 데이터를 사전에 처리하는 것이 필요합니다. 효과적인 데이터 전처리를 통해 더 정확하고 안정적인 결과를 얻을 수 있을 것입니다.