now is better than never
[쇼핑데이터를 활용한 머신러닝] 4. 정형 데이터 전처리 (1) 본문
1. 데이터 전처리 (1)
- 데이터 전처리(Preprocessing)
- 머신러닝 모델에 데이터를 입력하기 위해 데이터를 처리하는 과정
- EDA 에 따라 달라지는 데이터 전처리
- 모델, 목적에 따라 달라지는 데이터 전처리
선형 모델? 트리? 딥러닝? - 전처리의 목적 : 머신러닝 모델에 데이터를 입력할 수 있도록 하는 것
1) 연속형
- Scaling
- 데이터 단위 혹은 분포를 변경
- 선형 기반의 모델 (선형 회귀, 딥러닝 등) 경우 변수들 간의 스케일을 맞추는 것이 필수적
- Min Max Scaling
(x - 최소) / (최대 - 최소) - Standard Scaling
(x - 평균) / 표준편차 - Robust Scaling
(x - 중위값) / (3사분위 수 - 1사분위 수)
- Scaling + Distribution
- 스케일링과 분포 둘 다 바꿈
- 타겟과 관계가 직접적으로 바꾸어질 수 있음
- Log Transformation
: 한 쪽으로 분포가 치우친 경우 정규분포 형태로 바꾸어줌
exp 를 취하면 log transformation 반대 - Quantile Transformation
: 값을 uniform 하게 바꾸거나 정규분포화
log transformation 과 차이점은 어떤 분포가 들어와도 uniform/정규분포에 맞출 수 있음
상관계수가 -0.74 에서 -0.79 로 상관관계 강해짐
- Binning
- 연속형 변수를 범주형 변수로 바꾸는 방법
- 넓고 얇은 다봉(봉우리가 여러 개)분포
-> 트리모델 : overfitting 발생 - 이런 형태일 때 binning 으로 overffiting 방지, 선형 모델일 때 해석 용이해짐
2) 범주형
- 범주형 변수 : 카테고리를 가지는 변수
식물의 종, 자동차 종류 등
- Encoding
- 범주형 변수를 수치형으로 바꾸는 것
- One Hot Encodng
- 변수를 1 과 0 으로 나눔
- feature 종류에 따라 1 / 0 변수 생성
- 모델이 변수의 의미를 정확하게 파악
- 종류가 많을 경우 차원의 저주 문제가 생겨 성능 낮음, 메모리면에서 좋지 않음
- Label Encoding
- 컬럼의 수는 1개로 유지, 각각의 종이 다른 값을 가짐
- 종마다 다른 번호 -> 하나의 컬럼으로 모든 종 표현
- 모델이 이 숫자를 순서를 특징으로 인식할 수도 있음
특히 선형모델에서는 범주형 변수의 값이 순서를 가지고 순서에 맞게 label 했을 때만 사용 가능
- Frequency Encoding
- 해당 변수의 값의 빈도수를 변수의 값으로 사용
- Target Encoding
- 각각의 종이 가지는 target 변수의 평균으로 encoding
- 각각의 값을 수치로 바꿈으로써 하나의 컬럼에 모든 값을 표현 + 순서의 영향을 받지 않음
- Frequency / Target
- 서로 다른 종이 동일한 값으로 encoding 될 수 있음
미래에 새로 등장하는 종에는 encoding 불가 - 의미있는 값을 모델에 줄 수 있음
- target 의 경우 target 값과 직접적으로 연관 -> overfitting 문제 생길 수 있음
- 서로 다른 종이 동일한 값으로 encoding 될 수 있음
- One-hot, Label
- 의미없는 숫자로 대체
- Embedding
- = Entity Embedding
- Word2Vec 같은 모델을 활용해 Text 데이터를 더 낮은 차원으로 임베딩하는 방법
'Python > [코칭스터디 10기] Beyond AI Basic' 카테고리의 다른 글
[쇼핑데이터를 활용한 머신러닝] 6. 머신러닝 기본개념 (1) (0) | 2023.05.08 |
---|---|
[쇼핑데이터를 활용한 머신러닝] 5. 정형 데이터 전처리 (2) (0) | 2023.05.08 |
[쇼핑데이터를 활용한 머신러닝] 3. 정형 데이터 소개 및 EDA (3) (0) | 2023.05.04 |
[쇼핑데이터를 활용한 머신러닝] 2. 정형 데이터 소개 및 EDA (2) (0) | 2023.05.03 |
[쇼핑데이터를 활용한 머신러닝] 1. 정형 데이터 소개 및 EDA (1) (1) | 2023.05.03 |