Jinsoolve.

Categories

Tags

4월 안에는 꼭...

Portfolio

About

표준화와 정규화

Created At: 2025/01/09

1 min read

표준화

python
1ex = np.array([0, 1, 2, 3, 4, 5]) 2 3print('표준화:', (ex - ex.mean()) / ex.std())

평균=0, 분산=1로 만든다.

MinMaxScaler()

python
1from sklearn.preprocessing import MinMaxScaler 2 3mms = MinMaxScaler() 4X_train_norm = mms.fit_transform(X_train) 5X_test_norm = mms.transform(X_test)
xnorm(i)=x(i)xminxmaxxminx_{norm}^{(i)} = \frac{x^{(i)}-x_{min}}{x_{max}-x_{min}}

정해진 범위의 값이 필요할 때 유용하게 사용된다.

표준화는 이상치에 덜 민감한 반면,
최소-최대 스케일 변환은 이상치 정보가 유지된다.

StandardScaler()

sklearn으로 표준화함수를 사용할 수 있다.

python
1from sklearn.preprocessing import StandardScaler 2 3stdsc = StandardScaler() 4X_train_std = stdsc.fit_transform(X_train) 5X_test_std = stdsc.transform(X_test)

RobustScaler()

이상치가 많은 작은 데이터셋을 다룰 때 좋다.
혹은 과대적합되기 쉽다면 이 scaler가 좋다.

xnorm(i)=x(i)q2q3q1x_{norm}^{(i)} = \frac{x^{(i)}-q_2}{q_3-q_1}

RobustScaler는 특성 열마다 독립적으로 작용하며 중간 값을 뺀 다음 25백분위수와 75백분위수를 사용해서 데이터셋의 스케일을 조정한다.

python
1from sklearn.preprocessing import RobustScaler 2rbs = RobustScaler() 3X_train_robust = rbs.fit_transform(X_train) 4X_test_robust = rbs.fit_transform(X_test)

MaxAbsScaler()

각 특성별로 데이터를 최대 절댓값으로 나눈다. 각 특성의 최대값을 1로 스케일링한다.

python
1from sklearn.preprocessing import MaxAbsScaler 2mas = MaxAbsScaler() 3X_train_maxabs = mas.fit_transform(X_train) 4X_test_maxabs = mas.fit_transform(X_test)

Normalizer()

특성이 아니라 샘플 별로 정규화시킨다.

python
1from sklearn.preprocessing import Normalizer 2 3nrm = Normalizer() 4X_train_l2 = nrm.fit_transform(X_train)

관련 포스트가 28개 있어요.

Transformers

Seq2Seq에서 RNN을 아예 빼버리고 attention으로 구성해보면 어떨까? → Transformer의 구조 현재는 seq2seq + attention에서는 하나의 벡터로…

2025/04/27

NEW POST
intro-to-nlp-7 cover image

RNN

언어 모델이라는 건, 사실 다음에 올 단어를 확률로 예측하는 것이다. 이러한 언어 모델들을 어떻게 발전시켜왔는 지 살펴보자. 이미 이전 포스트에서 자세히 살펴보았던 내용이다.…

2025/04/27

NEW POST
profile

김진수

Currently Managed

Currently not managed

© 2025. junghyeonsu & jinsoolve all rights reserved.