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

파이썬으로 데이터 전처리하기: 피처 스케일링

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

파이썬으로 데이터 전처리하기: 피처 스케일링

데이터 전처리는 데이터 분석 및 머신러닝 모델링을 수행하기 전에 필수적으로 해야하는 작업 중 하나입니다. 데이터 전처리는 데이터의 특성을 파악하고, 이를 모델링에 적용할 수 있는 형태로 변환하는 과정입니다. 이 중에서도 피처 스케일링은 매우 중요한 전처리 기법 중 하나입니다. 이번 포스팅에서는 파이썬을 사용하여 피처 스케일링을 어떻게 수행하는지 알아보겠습니다.

1. 피처 스케일링이란?

피처 스케일링은 데이터의 피처를 일정한 범위로 조정하는 과정입니다. 데이터의 피처들은 각각 다른 스케일을 가지고 있을 수 있으며, 이는 모델링에 영향을 주는 요소입니다. 대부분의 머신러닝 알고리즘은 수치적으로 안정적인 입력 데이터를 원합니다. 따라서 피처 스케일링은 모델의 성능을 향상시키고, 수렴 속도를 높이는 데 도움을 줍니다.

2. Min-Max 스케일링

Min-Max 스케일링은 가장 일반적으로 사용되는 피처 스케일링 기법 중 하나입니다. 이 방법은 데이터 값을 0과 1 사이의 범위로 변환하는 방법입니다. 이를 위해서는 다음과 같은 수식을 사용합니다.

X_scaled = (X - X_min) / (X_max - X_min)

여기서 X는 스케일링을 해야하는 피처의 값이고, Xmin과 Xmax는 해당 피처의 최솟값과 최댓값입니다. 파이썬에서는 sklearn 모듈의 MinMaxScaler 클래스를 사용하여 간단하게 Min-Max 스케일링을 수행할 수 있습니다.

```python from sklearn.preprocessing import MinMaxScaler

데이터 준비

data = [ [10, 2], [5, 3], [8, 1] ]

Min-Max 스케일링 수행

scaler = MinMaxScaler() scaleddata = scaler.fittransform(data)

print(scaled_data) [[1. 1. ] [0. 0.5] [0.5 0. ]] ```

위 코드에서 data는 스케일링을 해야하는 데이터입니다. MinMaxScaler 클래스 객체를 생성한 후에 fit_transform 메서드를 호출하여 스케일링을 수행한 뒤, 결과를 확인할 수 있습니다.

3. 표준화 스케일링

표준화 스케일링은 데이터를 평균이 0이고 표준편차가 1인 정규 분포로 변환하는 방법입니다. 이 방법은 분포의 형태를 유지하면서 데이터의 스케일을 조정하는데 사용됩니다. 이를 위해서는 다음과 같은 수식을 사용합니다.

X_scaled = (X - X_mean) / X_std

여기서 Xmean은 해당 피처의 평균값이고, Xstd는 해당 피처의 표준편차입니다. 파이썬에서는 sklearn 모듈의 StandardScaler 클래스를 사용하여 간단하게 표준화 스케일링을 수행할 수 있습니다.

```python from sklearn.preprocessing import StandardScaler

데이터 준비

data = [ [10, 2], [5, 3], [8, 1] ]

표준화 스케일링 수행

scaler = StandardScaler() scaleddata = scaler.fittransform(data)

print(scaled_data) [[ 1.22474487 0. ] [-1.22474487 1.22474487] [ 0. -1.22474487]] ```

위 코드에서도 data는 스케일링을 해야하는 데이터입니다. 마찬가지로 StandardScaler 클래스 객체를 생성한 후에 fit_transform 메서드를 호출하여 스케일링을 수행하고, 결과를 확인할 수 있습니다.

4. Conclusion

피처 스케일링은 머신러닝 모델링의 성능을 향상시키는 가장 기본적이면서 필수적인 전처리 과정입니다. 파이썬에서는 sklearn 라이브러리를 사용하여 간단하게 피처 스케일링을 수행할 수 있습니다. 주어진 데이터에 따라 적절한 스케일링 방법을 선택하고, 모델링에 적용해보세요. 효과를 누릴 수 있을 것입니다. Happy coding!