파이썬 사이킷런 스케일러 사용 예제, 특징 정리안녕하세요. 이번 글에서는 파이썬 scikit-learn 라이브러리에서 Show 각 feature의 분포를 정규화 시킬 수 있는 대표적인 Scaler 종류인 StandardScaler, MinMaxScaler 그리고 RobustScaler에 대하여 사용 예제와 특징을 살펴보도록 하겠습니다. 여기서는 아주 간단한 예시로 0~10의 숫자가 차례로 있는 x1 column과 0~10의 제곱수가 차례로 있는 x2 column의 정규화 결과를 각 Scaler에서 비교해보며 대략적인 특징을 살펴보겠습니다.
StandardScaler : 평균 0, 표준편차 1 기준 정규화StandardScaler는 각 열의 feature 값의 평균을 0으로 잡고, 표준편차를 1로 간주하여 정규화시키는 방법입니다. 사용 방법은 Scaler를 import한 뒤, 데이터셋을 fit_transform시켜주시면 됩니다. 이 사용법은 뒤에서 설명할 다른 Scaler에서도 동일합니다.
각 데이터가 평균에서 몇 표준편차만큼 떨어져있는지를 기준으로 삼게 됩니다. 데이터의 특징을 모르는 경우 가장 무난한 종류의 정규화 중 하나입니다. MinMaxScaler : 최솟값 0, 최댓값 1 기준 정규화MinMaxScaler는 각 feature의 최솟값과 최댓값을 기준으로 0~1 구간 내에 균등하게 값을 배정하는 정규화 방법입니다.
이상치에 민감하다는 단점이 있긴 하지만, 각 feature의 범위가 모두 0~1로 동등하게 분포를 바꿀 수 있다는 장점이 있습니다. RobustScaler : 중앙값 0, 사분위수 IQR 기준 정규화RobustScaler는 각 feature의 median(Q2)에 해당하는 데이터를 0으로 잡고, Q1, Q3 사분위수와의 IQR 차이 만큼을 기준으로 정규화를 진행합니다. 공식 : (데이터 값 - Q2) / (Q3 - Q1)
해당 정규화 방법은 이상치에 강한 특징을 보이기에 RobustScaler라는 이름이 붙었으며, 이상치가 많은 데이터를 다루는 경우 유용한 정규화 방법이 될 수 있습니다. 피처스케일링사이킷런에서 서로 다른 변수값을 일정 수준으로 맞추는 용어
각 용어 사용 목적
바로 보스턴 주택 가격 데이터 셋을 활용하여 예시를 보겠습니다.
사족1. 단위가 다른 값을 비교할 때 일정한 기준치를 두고 비교할 때 자주 쓸 것 같아요. 개인적으로는 이번달에 데뷔한 아이돌의 브랜드를 분석하기 위하여, 같은 시기에 컴백한 데뷔연차 5년 이상된 아이돌의 지표를 분석할 때 쓸 것 같아요. (또는 해당 기획사에서 가장 대중적으로 잘 알려진 선배 아이돌의 지표랑) 앨범 판매량, 유튜브 채널 구독자수, 각 sns 및 공식채널 회원수, 각 채널의 페이지 뷰, 스트리밍 사이트 음원순위 등을 비교하여 신인 아이돌의 앨범판매량이 어느 수준인지 파악하는데 쓸 수 있을 것 같았어요. |