data-science-summary/summary

z-score scaling 하는법 in python

고수트 2020. 9. 14. 23:17
반응형

<엔지니어는 구현을 못하면 모르는것이다>

z-score 표준화 또는 StandardScaler 라고도 함

평균과 표준편차가 1이 되도록 변환한것 => 즉, 표준 정규분포로 환산

import pandas as pd
from sklearn.preprocessing import StandardScaler

data = [[0, 0], [0, 0], [1, 1], [1, 1]]
df = pd.DataFrame(data, columns=['a','b'])
colnames = df.columns

scaler = StandardScaler()
scaler.fit(df)
# z-score scaling 수행 결과
print(scaler.transform(df))

# 원레 데이터의 평균, 분산
print('평균 : ', scaler.mean_)
print('분산 : ', scaler.var_)
new_colnames = [i+'_sc' for i in colnames]

# z-score 스케일링을 한 데이터와 변형전 데이터 합친 dataframe
pd.concat([df, pd.DataFrame(scaler.fit_transform(df[colnames]), columns=new_colnames)], axis=1)
반응형