label_encoder
import pandas as pd
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
le.fit(df['A'])
df = pd.DataFrame({
"A": ["a", "b", "c", "a", "b"],
"B": [1, 2, 3, 1, 0]
})
df['le_A'] = le.transform(df['A']) # a -> 0, b -> 1. c -> 2
le.transform(['a', 'b'])
le.fit_transform(df["A"])
le.inverse_transform([1, 2, 2, 2]) # 0 -> a, 1 -> b, 2 -> c
min-max-scaling
1. 수식
2. 목적
데이터를 0 ~ 1 사이 범위로 스케일링
3. 장점
데이터가 0에서 1 사이로 제한이 되기 때문에 에러 범위도 제한이 된다. (오버플로 방지). 그래서 주로 카메라 픽셀 데이터 (0, 255) 같이 범위가 제한된 곳에서 사용하면 좋음
standard scaler
1. 수식
여기서 는 평균, 는 표준편차입니다.
2. 목적
평균을 0, 표준 편차를 1로 만듬
3. 장점
일반적인 경우의 데이터(엑셀데이터)에 많이 사용
Robust Scaler
1. 수식
여기서 (75% 분위수 - 25% 분위수)
2. 목적
동떨어진 데이터(Outlier 아웃라이어) 가 있는 경우 robust scaler 를 쓴다. 중앙값과 IQR을 사용하여 아웃라이어의 영향을 최소화한다.
