1. 인코딩
어떤 정보를 정해진 규칙에 따라 변환하는 것을 의미한다.
(1) 레이블 인코딩
모델이 처리하기 쉬운 수치형으로 데이터 변환
실제로는 그렇지 않은데, 순서 간 크기에 의미가 부여되어 모델이 잘못 해석 할 수 있음.
sklearn.preprocessing.LableEncoder
- 메소드
- fit: 데이터 학습
- transform: 정수형 데이터로 변환
- fit_transform: fit과 transform을 연결하여 한번에 실행
- inverse_transform: 인코딩된 데이터를 원래 문자열로 반환
(2) 원-핫 인코딩(One-Hot Encoding)
각 범주를 이진 형식으로 표현하는 기법
장점: 각 범주가 독립적으로 표현되어, 순서가 중요도를 잘못 학습하는 것을 방지. 명목형 데이터에 권장
단점: 범주 개수가 많을 경우 차원이 크게 증가, 모델의 복잡도를 증가 시킴 - 정보가 너무 많은 나머지 모델이 제대로 학습하지 못함, 데이터가 큰만큼 결측치와 이상치도 많을 확률. 과적합 유발
가. pd.get_dummies
나. sklearn.preprocessing.OneHotEncoder
categories : 인코더가 학습한 클래스(범주)
2. 스케일링
수치형 데이터를 전처리하는 방법
(1) 표준화(Standardization):
각 데이터에 평균을 뺴고 표준편차를 나누어 평균을 0, 표준편차를 1로 조정하는 방법
sklearn.preprocessing.StandardScaler
- 메소드
fit: 데이터학습(평균과 표준편차)
transform: 데이터 스케일링 진행
- 속성
mean_: 데이터의 평균 값
scale_, var_: 데이터의 표준 편차, 분산 값
n_features_in_: fit 할 때 들어간 변수 개수
feature_names_in: fit할 때 들어간 변수 이름
n_ samples_seen_: fit할 때 들어간 데이터의 개수
- 특징
이상치나 분포가 치우쳐져 있을 때 유용함
모든 특성의 스케일을 동일하게 맞춤. 많은 알고리즘에서 좋은 성능
(2) 정규화(Normalization)
데이터를 0과 1사이 값으로 조정(최소값 0, 최대값 1)
- 장점: 이상치의 영향에 덜 민감
- 단점: 표준화와 정규화에 비해 덜 사용
(3) 로버스트 스케일링(Robust Scaling)
중앙값과 IQR을 사용하여 스케일링
- 장점: 이상치의 영향에 덜 민감
- 단점: 표준화와 정규화에 비해 덜 사용됨
'머신러닝' 카테고리의 다른 글
머신러닝 심화 (2) : 데이터 분리 (0) | 2025.01.17 |
---|---|
머신러닝 기초 (2) : 선형회귀(Linear Regression) (0) | 2025.01.14 |
머신러닝 기초 (1) : 머신러닝의 정의, 종류, 사용분야 (3) | 2025.01.13 |