🎀 데이터 전처리
1. Encoding
1) Label Encoding : 범주형 데이터를 정수값으로 변환
2) OneHot Encoding : 행당 범주에 해당하면 1, 나머지는 0으로 인코딩
2. 결측치 처리
1) 대치 : 특정 값으로 채움 (0/평균값)
2) KNN : 가장 가까운 K개의 이웃의 평균 이용
- 유클리디언 Distance : 두 점 간의 직선 거리 계산
$$ Euclidean Distance=\sqrt{(p_{2}-p_{1})^2 + (q_{2}-q_{1})^2} $$
$$ Euclidean Distance=\sqrt{\sum_{i=1}^{n}(p_{i}-q_{i})^2} $$
- 마할라노비스 Distance
- 데이터 분포를 고려하여 두 점 간의 거리 계산
- 변수들 간의 상관관계를 반영하여 거리 측정
- 공분산이 단위벡터이면, 유클리디언 distance와 같아짐
$$ Mahalanobis Distance=\sqrt{(p−q)^TS^{−1}(p−q)} $$
3. 이상치 제거
1) IQR (4분위)
: 보통 IQR의 1.5배 초과하는 값을 이상치로
- IQR = Q3(0.75) -Q1(0.25)
- 하한 : Q1-1.5 x IQR
- 상한 : Q3 +1.5 x IQR
- 하한보다 작거나 상한보다 큰 값이 이상치
2) Z-score
- 각 데이터 포인트가 평균에서 얼마나 떨어져 있는지 표준편차 단위로 측정
- 0~1로 만듦
- μ : 평균, σ : 표준편차
$$ Z = \frac{X - \mu}{\sigma} $$
3) Boxplot 사용
4) LOF : 밀도 기반 이상치 탐지 기법
4. resampling
1) 교차 검증 : 모델 성능 평가를 위해 데이터를 여러번 나누어 학습
2) Upsampling & Downsampling
- Upsampling : 소수 클래스의 샘플 수를 늘리기 위해 소수 클래스 샘플을 중복하여 추가
ex) SMOTE
- Downsampling : 다수 클래스의 샘플 수를 줄이기 위해 일부 샘플을 무작위로 제거
3) Bootstrapping : 데이터 샘플을 복원 추출 → 여러번 샘플링
5. 정규화/표준화
- MinMax 정규화
댓글