왜 Normalize 해야만 할까??
2020. 7. 19. 16:42ㆍData Science
유명한 Air Bnb의 dataset을 보면 위와 같은 정보들이 있다..
필자와 같이 가정을 해보자 해당 Dataset중 위의 Data를 사용해서 K-mean Cluster 기법을 사용한
분석을 하고 싶다고 말이다.
일단 눈에 띄는 것은 변수들의 크기와 변화량이다.
수가 아닌 Data도 수로 변환하여 분석하는 것이 Machine Learning의 보편적인 방법인데..
Maximum_nights가 다른 변수에 비해서 많이 숫자가 크고 변화가 심한 것을 볼수 있다.
Feature의 가중치등을 부여하는 작업을 하더라도 당연히 숫자 자체적으로 Maximum_nights의 정보가
분석결과에 너무나 많은 impact를 줄것은 사실 알고리즘을 이해하지 못해도 어느정도
예측이 가능하다.
이것 정말 우리가 원하는 상황은 아니기에
전처리에 정규화 과정을 필수적으로 넣어줘야 하는 것이다.
-1 - 1 사이의 값이 되도록 값에서 평균을 빼주고 표준편차로 나눠주는 행위를 말한다.
이렇게 하면 모든 Feature들의 절대적인 크기가 정규화되었고, 분석에도 개별 Column들이 동등한 영향을
주게 될 것이다.
Python으로는..
아래와 같이 Pandas DataFrame인 dc_listings를 쉽게 Normalize 할수 있다.
normalized_listings = (dc_listings - dc_listings.mean())/(dc_listings.std())
'Data Science' 카테고리의 다른 글
One Hot Encoding 과 Label Encoding 을 비교해보자 (0) | 2020.09.03 |
---|---|
Euclidean Distance에 대해서 알아보자..(간략히..) (0) | 2020.07.19 |
Epoch 과 Batch Size , Iterations 는 머냐? (3) | 2020.04.05 |
Data 파이프 라인 : ETL vs ELT (0) | 2019.10.27 |
분류형 Data만 가져오는 간단한 방법 (How to Identify the columns that are categorical in nature) (0) | 2019.10.03 |