728x90
표준화 (StandardScaler)
사이킷런에서는 표준화를 StandardScaler 함수를 통해 지원한다.이를 통해 개별 피처들을 평균이 0, 분산이 1인 값으로 변환해준다.
먼저 DataFrame 을 통해 데이터셋을 생성해준다.
from sklearn.datasets import load_iris
import pandas as pd
iris = load_iris()
iris_data = iris.data
iris_df = pd.DataFrame(data=iris_data, columns = iris.feature_names)
StandardScaler 을 이용하여 데이터 세트를 변환해 준다.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(iris_df)
iris_scaled=scaler.transform(iris_df)
iris_df_scaled = pd.DataFrame(data=iris_scaled, columns = iris.feature_names)
print('feature 들의 평균 값')
print(iris_df_scaled.mean())
print('\nfeature 들의 분산 값')
print(iris_df_scaled.var())
output
feature 들의 평균 값
sepal length (cm) -1.690315e-15
sepal width (cm) -1.842970e-15
petal length (cm) -1.698641e-15
petal width (cm) -1.409243e-15
dtype: float64
feature 들의 분산 값
sepal length (cm) 1.006711
sepal width (cm) 1.006711
petal length (cm) 1.006711
petal width (cm) 1.006711
dtype: float64
정규화(MinMaxScaler)
사이킷런에서는 정규화를 MinMaxScaler 함수를 통해 지원한다.이를 통해 데이터값을 0과 1 사이의 값으로 변환한다. (주로 데이터의 분포가 가우시안 분포가 아닐 경우에 사용됨)
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaler.fit(iris_df)
iris_scaled = scaler.transform(iris_df)
iris_df_scaled = pd.DataFrame(data=iris_scaled, column=iris.feature_names)
iris_df_scaled
output:
iris_df_scaled에 변환된 정보가 저장된다.
출처 : 파이썬 머신러닝 완벽 가이드
728x90
'인공지능 > 데이터 분석' 카테고리의 다른 글
[파이썬 머신러닝 완벽가이드] 평가 (정확도, 오차 행렬, 정밀도, 재현율) (0) | 2021.08.16 |
---|---|
[사이킷런] 데이터 전처리 1. 데이터 인코딩 (0) | 2021.08.16 |
[사이킷런] GridSearchCV : 교차 검증 + 하이퍼 파라미터 튜닝 (0) | 2021.08.16 |
[사이킷런] 과적합의 문제와 교차 검증 모델(KFold, StratifiedKFold, cross_val_score) (0) | 2021.08.16 |
[사이킷런] train_test_split, DecisionTreeClassifier 체험 (0) | 2021.08.16 |