Jinsoolve.

Categories

Tags

3월 안에는 꼭...

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)

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

intro-to-nlp-2 cover image

n-gram Language Models

언어 모델이란, 결국에는 그 다음으로 어떤 단어가 오는 것이 가장 자연스러운지를 확률로 보고 가장 높은 확률의 단어를 선택해서 문장을 구성하는 방식이다. 위 포스트에서는 n…

2025/03/10

NEW POST

삼격형의 두 변의 길이와 사잇각을 알 때, 나머지 한 변의 길이를 구하는 공식

위와 같은 삼각형이 존재할 때, 변의 길이 b, c와 그 사잇각 α\alphaα를 알고 있다고 가정하자. 이때 a의 길이를 구하는 공식은 다음과 같다. a=b2+c2−2bccos…

2025/02/20

NEW POST
profile

김진수

Currently Managed

Currently not managed

© 2025. junghyeonsu & jinsoolve all rights reserved.