[python] scikit-learn을 활용한 피처 스케일링

머신 러닝 모델을 학습시킬 때, 피처 스케일링은 중요한 전처리 단계입니다. 피처 스케일링은 다른 단위 또는 범위를 가지는 피처들을 동일한 단위로 변환하여 모델의 성능을 향상시키는 역할을 수행합니다. scikit-learn은 머신 러닝을 위한 파이썬 라이브러리로, 다양한 피처 스케일링 메서드를 제공합니다.

1. Standard Scaling

Standard Scaling은 피처를 평균이 0이고 표준편차가 1인 값으로 변환하는 방법입니다. 이 방법은 가장 일반적으로 사용되는 스케일링 방법 중 하나입니다. 아래와 같은 코드를 사용하여 피처를 Standard Scaling 할 수 있습니다.

from sklearn.preprocessing import StandardScaler

# 피처 데이터 생성
X = [[-1, 2], 
     [0, 0], 
     [1, -1]]

# Standard Scaling 적용
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

2. Min-Max Scaling

Min-Max Scaling은 피처를 최소값과 최대값 사이의 범위로 변환하는 방법입니다. 변환된 피처는 0과 1 사이의 값을 가지게 됩니다. 아래와 같은 코드를 사용하여 피처를 Min-Max Scaling 할 수 있습니다.

from sklearn.preprocessing import MinMaxScaler

# 피처 데이터 생성
X = [[-1, 2], 
     [0, 0], 
     [1, -1]]

# Min-Max Scaling 적용
scaler = MinMaxScaler()
X_scaled = scaler.fit_transform(X)

3. Robust Scaling

Robust Scaling은 이상치의 영향을 최소화한 피처 스케일링 방법입니다. 평균 및 표준편차 대신 중간값과 사분위범위를 사용하여 스케일링을 수행합니다. 아래 코드를 사용하여 피처를 Robust Scaling 할 수 있습니다.

from sklearn.preprocessing import RobustScaler

# 피처 데이터 생성
X = [[-1, 2], 
     [0, 0], 
     [1, -1]]

# Robust Scaling 적용
scaler = RobustScaler()
X_scaled = scaler.fit_transform(X)

참고 자료