[BoostCourse] 2. 정형데이터 전처리
1. 데이터 전처리
- 데이터를 머신러닝 모델에 입력하기 위해 적절히 처리하는 과정
- EDA / 모델이나 목적에 따라 달라지는 데이터 전처리
- 선형 모델인지, 트리인지, 딥러닝인지 등에 따라 방식 달라짐
연속형 변수
Scaling
- 데이터의 단위 또는 분포 변경
- 선형 기반의 모델의 경우 변수들 간의 scale을 맞추는 것이 필수적
- Min Max Scaling
- Standard Scaling
- Robust Scaling
Scaling + Distribution
- Log transformation
- 정규분포에 가깝게
- Quantile transformation
- 값을 uniform하게 / 정규분포에 맞추어
Binning
- 연속형 -> 범주형
- overfitting 방지 <img width="416" alt="스크린샷 2023-05-07 오후 9 10 53" src="https://user-images.githubusercontent.com/53086873/236676655-9eddea44-7d28-46e8-8e34-bc71e851301d.png">
범주형 변수
- 보통 문자형으로 되어있어 머신러닝 모델의 입력 변수로 사용할 수 없음 -> 수치형 변수로 변환
Encoding
- One hot encoding
- 변수를 1과 0으로 변환
- 변수가 많으면 차원의 저주 발생
- Label encoding
- 한개의 컬럼에서 범주마다 각기 다른 값을 갖도록 변환
- 모델이 숫자의 순서를 특징으로 인식할 수 있는 문제
- Frequency encoding
- 해당 변수의 값이 나오는 빈도수를 변수의 값으로 지정
- Target encoding
- 각각의 범주가 가지는 타겟 변수의 평균을 값으로 지정
- 서로 다른 범주이지만 같은 값을 갖게 될 수 있음
- 새로 생기는 범주에 대해서는 값을 지정하기 어려움
- overfitting 발생 가능
- Embedding
2. 결측치 처리
Pattern
- 결측치 패턴을 파악해서 규칙이 있는지 확인
Univariate
- 제거
- 평균값 삽입
- 중위값 삽입
- 상수값 삽입
Multivariate
- 회귀분석
- KNN nearest
3. 이상치
이상치 탐지
- Z-Score
- IQR
이상치 처리
- 정성적
- 이상치 발생 이유 파악
- 이상치 의미 파악
- 성능적
- Train Test Distribution