인코딩: One-hot

ㅁ 인코딩

ㅇ 정의:
데이터 분석 및 머신러닝 모델링 과정에서 범주형 데이터를 수치형 데이터로 변환하는 과정.

ㅇ 특징:
– 범주형 데이터를 처리하기 위한 필수적 단계.
– 데이터의 스케일에 영향을 주지 않도록 설계 가능.
– 다양한 방식(One-hot, Label Encoding 등)이 존재함.

ㅇ 적합한 경우:
– 범주형 데이터가 모델 입력값으로 사용될 때.
– 데이터의 값이 순서와 무관한 경우.

ㅇ 시험 함정:
– 인코딩 선택 시 데이터의 특성과 모델 특성을 고려하지 않으면 성능 저하 가능.
– One-hot 인코딩 사용 시 고차원 데이터 문제를 간과하는 경우.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: 범주형 데이터는 모델 입력값으로 사용하기 위해 수치형으로 변환해야 한다.
– X: 모든 범주형 데이터는 One-hot 인코딩만 사용해야 한다.

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

1. One-hot

ㅇ 정의:
범주형 데이터를 이진 벡터로 변환하여 각 범주를 고유한 열로 표현하는 인코딩 방식.

ㅇ 특징:
– 각 범주는 0과 1로만 표현됨.
– 입력 데이터의 차원이 증가할 수 있음.
– 범주 간 순위 관계가 없음을 보장.

ㅇ 적합한 경우:
– 범주형 데이터의 값이 순서와 무관하며, 값 간의 관계를 표현할 필요가 없는 경우.
– 범주 개수가 적고 데이터가 희소하지 않은 경우.

ㅇ 시험 함정:
– 범주 수가 많을 경우 차원의 저주 문제 발생 가능.
– 희소 행렬을 처리할 수 없는 모델에 바로 적용하는 경우.

ㅇ 시험 대비 “패턴 보기” 예시:
– O: One-hot 인코딩은 범주형 데이터를 이진 벡터로 변환한다.
– X: One-hot 인코딩은 범주형 데이터 간의 순위를 유지한다.

ㅁ 추가 학습 내용

One-hot 인코딩의 대안으로 사용되는 몇 가지 인코딩 방식을 간단히 정의하고 특징을 정리하면 다음과 같습니다:

1. **Label Encoding**
– 정의: 각 범주형 데이터를 고유한 정수로 변환하는 방식.
– 특징: 간단하고 메모리를 적게 사용하지만, 정수 값이 크기나 순서를 나타내는 것으로 오해될 수 있어 선형 모델에서는 부적합할 수 있음.

2. **Ordinal Encoding**
– 정의: 범주형 데이터를 순서가 있는 정수로 변환하는 방식.
– 특징: 범주의 순서가 의미가 있을 경우 적합하지만, 순서가 없는 데이터에 적용하면 잘못된 관계를 학습할 위험이 있음.

3. **Target Encoding**
– 정의: 범주형 데이터를 해당 범주의 평균 타깃 값으로 변환하는 방식.
– 특징: 타깃 값과의 관계를 반영할 수 있어 유용하지만, 과적합의 위험이 있으므로 교차 검증과 같은 추가적인 기법이 필요함.

One-hot 인코딩의 고차원 문제를 해결하기 위해 차원 축소 기법을 활용하는 방법은 다음과 같습니다:

1. **PCA (Principal Component Analysis)**
– 정의: 고차원 데이터를 저차원으로 변환하는 선형 차원 축소 기법.
– 특징: 데이터의 분산을 최대한 유지하면서 주요 성분을 선택해 차원을 줄임. One-hot 인코딩으로 생성된 고차원 데이터를 효과적으로 축소할 수 있음.

2. **Autoencoder**
– 정의: 인공신경망을 사용해 데이터를 압축하고 다시 복원하는 비선형 차원 축소 기법.
– 특징: 데이터의 복잡한 구조를 학습하여 차원을 축소하며, 비선형 관계를 반영할 수 있어 PCA보다 유연함. 특히, One-hot 인코딩된 데이터와 같은 희소 데이터에도 적합.

이와 같은 내용을 학습 노트에 포함하면 시험 대비에 매우 유용할 것입니다.

답글 남기기

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

*
*