Scaler

Donghyeok Jang·2021년 3월 21일
0

Data Science

목록 보기
1/3

Scaler

데이터 모델링 하기 전 스케일링을 통해 다차원 값들을 비교, 분석하기 용이하게 만들어 주며, 자료의 Overflow, Underflow 방지할 수 있음! 독립 변수의 공분산 행렬의 조건수 감소시켜 최적화 과정에서 안전성 및 수렴 속도 향상도 가능!

Standard Scaler

  • 평균과 표준편차를 이용 (x - mean)/(std_deviation)
  • 단점이 있다면, 이상치가 있으면 변환된 데이터 확산이 매우 달라져 균형잡힌 척도 보장 X
  • 데이터가 치우쳐저 있을 경우
  • 넓게 분포된 데이터 보다는 모여진 데이터가 예측률이 좋다
from sklearn.preprocessing import StandardScaler

std_scale = Standard().fit_transform(df)
scaled_frame = pd.DataFrame(std_scale, columns=df.columns)
scaled_frame.head() # check

MinMax Scaler

  • 모든 feature를 0~1 사이의 값으로 조정
  • 이 또한 이상치가 있다면, 매우 좁은 범위로 압출될 수 있음
from sklearn.preprocessing import MinMaxScaler

minmax_scale = MinMaxScaler().fit_transform(df)
scaled_frame = pd.DataFrame(minmax_scale, columns=df.columns)
scaled_frame.head() # check

MaxAbs Scaler

  • 최대 절대값 => 1 or -1, 0 => 0 이 되도록하여 양수(음수) 데이터로만 구성되게 스케일링
  • MinMax Scaler 와 유사하나 음수와 양수값에 따른 대칭분포를 유지하게 되는 특징이 있음
from sklearn.preprocessing import MaxAbsScaler

maxabs_scale = MaxAbsScaler().fit_transform(df)
scaled_frame = pd.DataFrame(maxabs_scale,columns=df.columns)
scaled_frame.haed() # check

Robust Scaler

  • Standard Scaler 와 비슷하지만 평균대신 중앙값 사용 => 극단값(이상치, outlier)에 영향을 받지 않는 장점
from sklearn.preprocessing import RobustScaler

robust_scale = RobustScaler().fit_transform(df)
scaled_frame = pd.DataFrame(robust_scale,columns=df.columns)
scaled_frame.haed() # check
profile
Feedback is a gift

0개의 댓글