data-science-summary/summary
Robust scaling 하는법 in python
고수트
2020. 9. 16. 20:28
반응형
<엔지니어는 구현을 못하면 모르는것이다>
Robust scaling 은 중앙값 0, 사분위수의 제3사분위수에서 제1사분위수를 뺀값인 IQR이 1이 되도록 변환하는 방법을 말한다.
아웃라이어의 영향을 최소화한다는 특징을 가진다.
import pandas as pd
from sklearn.preprocessing import RobustScaler
data = [[ 1., -2., 2.], [ -2., 1., 3.], [ 4., 1., -2.]]
df = pd.DataFrame(data, columns=['a','b','c'])
colnames = df.columns
scaler = RobustScaler()
scaler.fit(df)
# Robust scaling
print(scaler.transform(df))
# 원레 데이터의 중앙값, IQR
print('meadian : ', scaler.center_)
print('IQR : ', scaler.scale_)
new_colnames = [i+'_rs' for i in colnames]
pd.concat([df, pd.DataFrame(scaler.fit_transform(df[colnames]), columns=new_colnames)], axis=1)
반응형