DATA/analysis

[ML] 데이터 정규화, 표준화의 차이와 하는 이유

웅덩이 2022. 8. 12. 09:40

📌 데이터 스케일링 : 데이터 표준화 or 정규화하여 데이터셋을 정제하는 것

     ▶ 왜 필요할까 ?


     특성들의 단위가 모두 다르고, 범위도 다르기 때문에 직접적으로 비교할 수 없다

     따라서 각 특성들의 단위를 무시하고 단순 비교할 수 있게 만들어준다

     ex) 토익 750점 vs 영어 모의고사 80점 → 누가 더 영어 잘하는지 판단하기 어려움


     또한 범위(scale)가 너무 크면 노이즈 데이터가 생성되거나 오버피팅될 가능성이 높아져서
     이를 방지하기 위해 진행한다

 

📌 정규화 : 값의 범위를 0~1 사이의 값으로 바꿔준다

      - 데이터의 여러 특성(칼럼) 값이 평등하게 0~1사이로 바뀌기때문에 기계가 평등하게 학습할 수 있다

      - scikit-learn에서 MinMaxScaler 사용

 

📌 표준화 : 데이터가 정규분포를 따른다는 가정 하에 값의 범위를 평균 0, 분산 1이 되도록 바꿔준다

      - 데이터의 여러 특성(칼럼) 값이 0~1 사이로 바뀌진 않지만 평균 0의 근처로 많이 잡히게 된다

      - scikit-learn에서 StandardScaler 사용

 

 

아래 사진에서 주의 깊게 봐야할 것은 y축이다

원래 데이터에서 정규화, 표준화가 어떻게 진행되는지 차이를 눈으로 확인이 가능하다

 

 

 

## 아래 글을 참고하여 작성하였습니다 ##

 

 

[ML]정규화(normalization)와 표준화(standardization)는 왜 하는걸까?

exploration을 진행하다보니 **인공지능 모델을 훈련시키고 사용할 때, 일반적으로 입력은 0 ~ 1 사이의 값으로 정규화 시켜주는 것이 좋습니다.** 라는 말을 봤는데, 그 말에대한 설명이 없어 개인적

velog.io

 

 

정규화(normalization)와 표준화(standardization), 머신러닝 성능 향상을 위한 필수 단계

오늘은 꽤 중요한 이야기를 하고자 합니다. 기본적이기 때문에 중요합니다. 이것을 간과하면 성능에 치명적인 영향을 끼치기 때문에 중요합니다. 바로 정규화(normalization)와 표준화(standardization)

bskyvision.com