일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 머신러닝
- 딥러닝
- ADsP
- scikit learn
- 이코테
- 이것이 코딩테스트다
- 코딩테스트
- 자격증
- 데이터분석
- Python
- pytorch
- SQL
- Deep Learning Specialization
- IRIS
- matplotlib
- 데이터 전처리
- tableau
- 데이터분석준전문가
- SQLD
- 태블로
- 시각화
- 파이썬
- 통계
- 데이터 분석
- pandas
- r
- Google ML Bootcamp
- ML
- sklearn
- 회귀분석
- Today
- Total
함께하는 데이터 분석
[Scikit Learn] MaxAbs Scaling 본문
안녕하세요.
오늘은 Scaling 중 하나인 MaxAbs Scaling을 살펴보겠습니다.
바로 시작해볼게요!
MaxAbs Scaling
MaxAbs Scaling은 데이터의 최대 절댓값이 1, 0이 0으로 스케일링됩니다.
즉, 절댓값이 0에서 1 사이로 매핑되므로 결과적으로 -1에서 1 사이로 스케일링됩니다.
Standard Scaling, Min-Max Scaling과 마찬가지로
이상치에 민감하며 앞 2개의 Scaling에 비해 상대적으로 덜 사용됩니다.
이제 Python의 Scikit Learn을 통해 스케일링을 해보겠습니다.
라이브러리 불러오기
import numpy as np
import pandas as pd
import seaborn as sns
import sklearn
데이터 불러오기 및 정제하기
mpg = sns.load_dataset('mpg')
mpg.head()
seaborn 라이브러리의 mpg데이터를 불러왔습니다.
스케일링을 하기 위해 mpg데이터를
수치형 변수로만 이루어진 데이터로 만들어주겠습니다.
numerical_mpg = mpg.dtypes[mpg.dtypes != "object"].index.tolist()
numerical_mpg
>>> ['mpg',
'cylinders',
'displacement',
'horsepower',
'weight',
'acceleration',
'model_year']
수치형 변수들입니다.
mpg = mpg[numerical_mpg]
mpg.head()
mpg.describe()
이제 본격적으로 MaxAbs Scaling을 진행해볼게요.
Scikit Learn을 활용한 MaxAbs Scaling
from sklearn.preprocessing import MaxAbsScaler
MAscaler = MaxAbsScaler
sklearn의 preprocessing 패키지에 MaxAbsScaler가 있습니다.
그리고 MAscaler로 MaxAbsScaler를 할당시켰습니다.
skmpg = MAscaler.fit_transform(mpg)
이후 sklearn mpg의 약자인 skmpg에 MaxAbs Scaling을 할 mpg데이터를 할당했습니다.
이제 MaxAbs Scaling이 제대로 진행됐는지 확인하겠습니다.
skmpg.describe() # sklearn 사용하면 numpy.ndarray
이제는 익숙하죠?
pandas를 활용하여 데이터 프레임 형식으로 변경해주겠습니다.
skmpg = pd.DataFrame(skmpg, columns = mpg.columns)
이제 head와 describe를 통해
스케일링이 제대로 진행됐는지 살펴보겠습니다.
skmpg.head()
skmpg.describe()
최댓값은 존재하므로 max는 1이 된 것을 확인할 수 있는데
min 값에 0이 없는 것을 보아 값이 0인 데이터는 없다는 것을 유추할 수 있습니다.
다음에는 마지막으로 공부할 스케일링인
Robust Scaling을 살펴보겠습니다!
'데이터분석 공부 > ML | DL' 카테고리의 다른 글
[Scikit Learn] One-Hot Encoding (0) | 2022.05.13 |
---|---|
[Scikit Learn] Label Encoding (0) | 2022.05.13 |
[Scikit Learn] Robust Scaling (0) | 2022.05.10 |
[Scikit Learn] Min-Max Scaling (1) | 2022.05.10 |
[Scikit Learn] Standard Scaling (0) | 2022.05.10 |