표준화와 정규화는 이름이 비슷해서 시험에서 서로 바꿔 내기 좋은 개념입니다. 더 중요한 것은 개념 구분이 아니라, 이를 어느 데이터에 대해 계산하느냐입니다. 이 부분을 잘못하면 모델 성능이 실제보다 좋게 나오는 데이터 누수가 생깁니다.
키(cm)와 연봉(원)처럼 단위와 크기가 크게 다른 변수가 있으면, 거리를 계산하는 알고리즘은 값이 큰 변수에 끌려갑니다. K-최근접 이웃, K-평균, SVM, 경사하강법을 쓰는 로지스틱 회귀나 신경망이 대표적입니다. 반면 결정 트리 계열은 값의 크기가 아니라 순서로 분할하기 때문에 스케일링의 영향을 크게 받지 않습니다.
표준화(Standardization)는 (값 – 평균) / 표준편차로 변환해 평균 0, 표준편차 1로 맞춥니다. 값의 범위는 정해져 있지 않습니다. Min-Max 정규화는 (값 – 최솟값) / (최댓값 – 최솟값)으로 변환해 0에서 1 사이에 놓습니다. 시험에서는 정규화라는 말이 두 가지 의미로 쓰이기도 하므로 문제 속 수식을 보고 판단하는 것이 안전합니다.
값 2, 4, 6, 8, 10을 예로 들면 평균 6, 모표준편차 약 2.83이므로 표준화하면 -1.41, -0.71, 0, 0.71, 1.41이 되고, Min-Max 정규화하면 0, 0.25, 0.5, 0.75, 1이 됩니다. 계산은 직접 실행해 확인했습니다. scikit-learn의 StandardScaler는 표준편차를 구할 때 n으로 나누는 모표준편차를 사용합니다.
같은 데이터의 마지막 값을 10에서 100으로 바꿔 보겠습니다. 2, 4, 6, 8, 100을 Min-Max 정규화하면 0, 0.020, 0.041, 0.061, 1이 됩니다. 나머지 네 값이 0 근처에 몰려 서로의 차이가 거의 사라집니다. 이처럼 Min-Max는 최댓값과 최솟값에 의존하므로 이상치에 민감합니다. 표준화도 평균과 표준편차가 영향을 받아 완전히 자유롭지는 않고, 이상치가 많다면 중앙값과 IQR을 쓰는 RobustScaler 같은 방법을 고려할 수 있습니다.
데이터 누수(Data Leakage)는 모델을 평가할 때 쓰면 안 되는 정보가 학습에 흘러들어가는 현상입니다. 스케일링에서 흔한 실수는 전체 데이터로 평균과 표준편차를 구한 뒤에 학습용과 평가용으로 나누는 것입니다. 이렇게 하면 평가 데이터의 정보가 변환 기준에 이미 섞여 있어 성능이 낙관적으로 나옵니다.
올바른 순서: 먼저 학습·평가 데이터를 나눕니다. 학습 데이터에만 fit(평균, 표준편차 등 계산)하고, 그 기준으로 학습 데이터는 transform, 평가 데이터도 같은 기준으로 transform만 합니다. 평가 데이터에 fit을 다시 하면 안 됩니다. 교차 검증을 쓴다면 Pipeline으로 묶어 각 fold 안에서 fit이 이루어지게 합니다.
결측치 대체나 인코딩, 변수 선택도 같은 원칙이 적용됩니다. 데이터에서 무언가를 계산해 가져오는 모든 전처리는 학습 데이터에서만 배우는 것이 기본입니다.
원-핫 인코딩으로 만든 0과 1의 변수는 이미 범위가 같아서 보통 별도의 스케일링을 하지 않습니다. 수치형 변수만 골라 스케일링하고 범주형은 인코딩을 따로 적용한 뒤 합치는 방식이 일반적이며, scikit-learn에서는 ColumnTransformer와 Pipeline으로 이 과정을 하나로 묶을 수 있습니다. 묶어 두면 교차 검증 중에도 각 fold의 학습 데이터에만 fit이 이루어져 누수를 구조적으로 막아 줍니다.
한쪽으로 심하게 치우친 변수라면 스케일링 전에 로그 변환을 먼저 고려하는 경우도 많습니다. 스케일링은 값의 크기만 맞출 뿐 분포의 모양까지 바꿔 주지는 않기 때문입니다.
스케일링과 비슷한 이름으로 로그 변환, 제곱근 변환, 박스-칵스 변환이 있지만 이들은 분포의 모양을 바꾸는 변환이고, 표준화와 Min-Max는 크기만 조정합니다. 또 정규화라는 말은 분포를 정규분포에 가깝게 만드는 것으로 오해되기도 하는데, Min-Max 정규화는 정규분포와 무관합니다. 표준화를 해도 원래 분포의 모양은 그대로이므로 정규분포가 되지는 않습니다. 이 세 가지를 구분해 두면 보기 문항의 함정을 피하기 쉽습니다.
스케일링은 거리나 경사하강법 기반 모델에서 필요하고, 이상치가 있다면 방식 선택에 주의해야 합니다. 어떤 방식이든 기준값은 학습 데이터에서만 계산하고 평가 데이터에는 그대로 적용한다는 원칙이 핵심입니다.
이 글은 학습용 정리이며 실제 시험 출제 범위와 다를 수 있습니다. 최신 시험 범위와 일정은 한국데이터산업진흥원 공식 공지를 확인하세요.
DSR 계산기연소득과 기존 대출을 반영한 DSR과 스트레스 금리 적용 전후의 최대 대출 가능액을 한 번에…
청약가점 계산기무주택 기간, 부양가족, 청약통장 가입기간을 입력하면 84점 만점 기준 가점과 다음 가점 상승일까지 보여줍니다.계산기…
IT Stack 계산기 센터청약가점과 DSR을 몇 번의 입력으로 가늠해 보세요. 가입도, 저장도 필요 없습니다.계산기 센터청약가점…
분류 모델을 만들었다면 그다음은 얼마나 잘 맞히는지를 말해야 합니다. 이때 정확도 하나만 보면 전혀 쓸모없는…
데이터 분석에서 모델링보다 시간이 더 걸리는 작업이 전처리입니다. 빅데이터분석기사에서도 결측치와 이상치는 필기의 탐색 영역과 실기…
11월에 일정이 있는 정보처리기능사 시험을 정리했습니다. 접수, 시험, 합격 발표 날짜를 한 번에 볼 수…