데이터 전처리: 인코딩 – Target Encoding
ㅁ 인코딩
ㅇ 정의:
범주형 변수를 해당 범주가 가진 목표 변수(Target)의 통계값(평균, 중위수 등)으로 변환하는 기법.
ㅇ 특징:
– 고차원 범주형 데이터 처리에 유용하며, 차원 증가 없이 수치형으로 변환 가능.
– 지도학습에서만 사용 가능(목표 변수를 필요로 함).
– 평균, 가중평균, 스무딩(smoothing) 등을 적용하여 과적합을 방지.
ㅇ 적합한 경우:
– 범주의 개수가 매우 많아 One-Hot Encoding 시 차원이 과도하게 증가하는 경우.
– 범주와 목표 변수 간의 관계가 뚜렷한 경우.
ㅇ 시험 함정:
– Target Encoding을 훈련 데이터와 검증 데이터 전체에 동시에 적용하면 데이터 누수(Data Leakage) 발생.
– 분류 문제에서 범주별 평균값이 아닌 잘못된 통계값 사용 시 성능 저하.
– 교차검증 시 fold별로 Target Encoding을 적용해야 함.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Target Encoding은 범주형 변수를 목표 변수의 평균값으로 변환한다.”
O: “Target Encoding 적용 시 데이터 누수를 방지하기 위해 교차검증 방식으로 수행해야 한다.”
X: “Target Encoding은 비지도학습에서도 자유롭게 사용할 수 있다.”
X: “Target Encoding은 범주의 개수가 적을 때 가장 효과적이다.”
================================
1. Target Encoding
ㅇ 정의:
범주형 변수의 각 범주를 해당 범주에 속하는 샘플들의 목표 변수 평균값으로 치환하는 인코딩 방식.
ㅇ 특징:
– 범주형 데이터를 수치형으로 변환하되 차원을 증가시키지 않음.
– 지도학습 상황에서만 가능.
– 과적합 방지를 위해 smoothing, noise 추가, cross-validation 적용.
ㅇ 적합한 경우:
– 범주의 개수가 수십~수백 개 이상인 고차원 범주형 변수.
– 범주와 목표 변수의 상관관계가 높은 경우.
ㅇ 시험 함정:
– 전체 데이터로 평균을 구하면 검증 데이터의 정보가 훈련에 유입되는 데이터 누수 발생.
– 회귀/분류 문제에서 목표 변수 타입에 맞는 통계값을 사용해야 함.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Target Encoding은 범주형 변수를 목표 변수의 평균값으로 변환한다.”
O: “데이터 누수를 방지하기 위해 fold별로 Target Encoding을 수행해야 한다.”
X: “Target Encoding은 비지도학습 데이터에서도 사용 가능하다.”
X: “범주의 수가 적을수록 Target Encoding의 장점이 커진다.”
ㅁ 추가 학습 내용
Target Encoding은 범주형 변수를 수치형으로 변환할 때 평균값뿐만 아니라 중위수, 가중평균, 로지스틱 변환값 등을 사용할 수 있다. 분류 문제에서는 특히 로그 오즈(log odds) 변환이 자주 활용된다. Smoothing 기법은 범주별 샘플 수가 적을 경우 전체 평균과 범주 평균을 적절히 혼합하여 안정성을 높인다. 시험에서는 데이터 누수를 방지하는 방법으로 교차검증과 K-fold 적용 방식을 묻거나, Leave-One-Out Encoding, James-Stein Encoding 등 유사 기법과의 차이점을 비교하는 문제가 나올 수 있다. 또한 고차원 범주형 데이터 처리 시 One-Hot Encoding과 Target Encoding의 메모리 및 성능 차이를 비교하는 문제도 출제될 수 있다.