인코딩: Target Encoding

ㅁ 인코딩

ㅇ 정의:
– 데이터를 머신러닝 모델에 적합한 형태로 변환하는 과정으로, 범주형 데이터를 수치형 데이터로 변환하는 기법.

ㅇ 특징:
– 데이터의 스케일과 분포를 고려하여 변환해야 함.
– 모델의 성능에 직접적인 영향을 미침.

ㅇ 적합한 경우:
– 범주형 데이터가 많고, 이를 수치형으로 변환해야 하는 경우.
– 머신러닝 알고리즘이 수치 데이터를 필요로 할 때.

ㅇ 시험 함정:
– 인코딩 기법을 데이터셋에 무조건적으로 적용하면 오히려 성능이 저하될 수 있음.
– 데이터 분포를 고려하지 않고 변환하면 모델이 편향될 수 있음.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: 범주형 데이터를 수치형으로 변환하는 기법 중 하나는 Label Encoding이다.
– X: 범주형 데이터를 수치형으로 변환할 때 항상 One-Hot Encoding만 사용해야 한다.

================================

1. Target Encoding

ㅇ 정의:
– 범주형 데이터를 해당 범주의 평균 타겟 값으로 변환하는 인코딩 기법.

ㅇ 특징:
– 데이터 누수가 발생할 가능성이 있음.
– 카테고리별로 타겟 값의 평균을 계산하여 사용.
– 범주형 데이터의 고유값이 많을 때 효과적.

ㅇ 적합한 경우:
– 타겟 변수와 강한 상관관계를 갖는 범주형 변수가 있는 경우.
– 데이터셋의 크기가 충분히 크고, 범주형 변수의 고유값이 많을 때.

ㅇ 시험 함정:
– 교차 검증을 통해 데이터 누수를 방지하지 않으면 모델이 과적합될 수 있음.
– 타겟 값이 편향되어 있을 경우, 부정확한 인코딩이 이루어질 수 있음.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: Target Encoding은 범주형 데이터를 타겟 변수의 평균 값으로 변환하는 기법이다.
– X: Target Encoding은 항상 데이터 누수를 방지할 수 있다.

ㅁ 추가 학습 내용

Target Encoding과 관련된 두 가지 주요 학습 내용은 다음과 같습니다:

1. **데이터 누수를 방지하기 위해 K-Fold 교차 검증을 활용한 Target Encoding**:
– Target Encoding은 범주형 변수를 타겟 값의 평균으로 변환하는 기법으로, 모델 성능을 향상시키는 데 유용합니다.
– 하지만, 데이터셋 전체의 타겟 값을 사용하여 범주형 변수를 인코딩하면 데이터 누수가 발생할 수 있습니다. 즉, 모델이 학습 데이터의 타겟 정보를 미리 알게 되어 과적합이 발생할 수 있습니다.
– 이를 방지하기 위해 K-Fold 교차 검증을 활용합니다. 데이터셋을 K개의 폴드로 나누고, 각 폴드의 데이터에 대해 나머지 K-1개의 폴드에서 계산된 타겟 평균을 사용하여 인코딩을 수행합니다. 이렇게 하면 인코딩 과정에서 해당 폴드의 타겟 값이 사용되지 않으므로 데이터 누수를 방지할 수 있습니다.

**K-Fold Target Encoding의 절차**:
– 데이터셋을 K개의 폴드로 분할합니다.
– 각 폴드에 대해, 나머지 K-1개의 폴드 데이터를 사용하여 타겟 평균을 계산합니다.
– 계산된 타겟 평균으로 해당 폴드의 범주형 변수를 인코딩합니다.
– 모든 폴드에 대해 위 과정을 반복하여 최종적으로 인코딩된 데이터를 얻습니다.

2. **Smoothing Target Encoding**:
– 타겟 값이 편향되어 있을 경우, 단순히 타겟 평균을 사용하는 Target Encoding은 불안정할 수 있습니다. 예를 들어, 특정 범주에 속한 샘플 수가 적거나 타겟 값의 분포가 한쪽으로 치우쳐 있는 경우, 타겟 평균이 극단적인 값을 가질 가능성이 높아집니다.
– 이를 완화하기 위해 Smoothing Target Encoding을 사용할 수 있습니다. 이 기법은 범주별 타겟 평균과 전체 데이터의 타겟 평균을 결합하여 안정적인 값을 생성합니다.
– 일반적으로 범주 내 샘플 수가 많을수록 해당 범주의 타겟 평균에 더 큰 가중치를 부여하고, 샘플 수가 적을수록 전체 데이터의 타겟 평균에 더 큰 가중치를 부여합니다.

**Smoothing Target Encoding의 계산 공식**:
– Smoothing 값 = (범주 내 타겟 평균 * 샘플 수 + 전체 데이터 타겟 평균 * 가중치) / (샘플 수 + 가중치)
– 여기서 가중치는 사용자가 설정하는 하이퍼파라미터로, 샘플 수가 적을 때 전체 타겟 평균의 영향을 조정하는 역할을 합니다.

이 두 가지 기법은 Target Encoding의 안정성과 신뢰성을 높이는 데 중요한 역할을 하며, 데이터 누수 방지 및 편향 완화에 효과적입니다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*