본문 바로가기
프로그래밍/Scikit-Learn

[Scikit-Learn] 3. 데이터 칼럼 표준화하기 feat. StandardScaler

by 부자 꽁냥이 2022. 5. 27.

이번 포스팅에서는 Scikit-Learn(sklearn)을 이용하여 데이터 칼럼을 표준화하는 방법을 알아보려고 한다. 표준화는 데이터를 주어진 평균과 표준편차를 갖도록 변환하는 것이다. Scikit-Learn에서는 StandardScaler를 통해 데이터를 표준화할 수 있다.

 

StandardScaler를 이용한 표준화 변환 과정은 지난 포스팅에서 다룬 MinMaxScaler를 이용한 Min Max 변환 과정과 동일하므로 아래 포스팅을 참고하면 좋다.

 

[Scikit-Learn] 2. Min Max 변환하기 feat. MinMaxScaler

 

[Scikit-Learn] 2. Min Max 변환하기 feat. MinMaxScaler

예측 모델링을 할 때 학습 데이터에 대하여 변환하는 경우가 굉장히 많다. 그중에서 각 데이터를 특정 범위로 제한시키는 Min Max 변환을 많이 사용한다. Min Max 변환은 원 데이터를 우리가 지정한

zephyrus1111.tistory.com


   Scikit-Learn(sklearn) StandardScaler 사용법

이번에도 보스턴 집값 데이터를 이용하여 표준화하려고 한다.

 

import pandas as pd

from sklearn.preprocessing import StandardScaler
from sklearn.datasets import load_boston

boston = load_boston()
df = pd.DataFrame(boston.data, columns=boston.feature_names)
X = df[['B', 'LSTAT']]

print(X.values)

원 데이터

이제 표준화를 시켜보자.

 

먼저 StandardScaler 클래스를 생성하고 fit을 이용하여 표준화 함수를 생성한 뒤 transform을 통하여 표준화를 수행한다.

scaler = StandardScaler() # StandardScaler 클래스 생성
scaler.fit(X) # 표준화를 수행 함수 생성
transformed_X = scaler.transform(X) # 표준화 수행
print(transformed_X)

StandardScaler를 이용한 표준화 결과

표준화된 데이터를 원래대로 되돌리고 싶다면 다음과 같이 inverse_transform을 이용하면 된다.

 

inverse_transformed_X = scaler.inverse_transform(transformed_X)
print(inverse_transformed_X)

 

inverse_transform을 이용하여 데이터 원상태로 복귀


 

 

댓글


맨 위로