Python

원 핫 인코딩 Dummy variable trap

K2ODING 2021. 11. 30. 13:04
728x90

one hot encoding이란?

범주를 벡터 방식으로 표현하기 위한 방법
예를 들면 프랑스, 스페인, 영국의 세 나라가 있다고 하면 

프랑스 = [1, 0, 0]
스페인 = [0, 1, 0]
영국    = [0, 0, 1]

이렇게 매칭을 시킵니다. 


dummy variable trap이란?

dummy variable trap이라는 것은 범주를 나누는데 불필요한 컬럼을 제거하는 것입니다. 

위에서 

프랑스 = [1, 0, 0]
스페인 = [0, 1, 0]
영국    = [0, 0, 1]

라고 분류를 했는데 사실 이 상태는 dummy variable trap에 빠진 상태입니다. 
원 핫 인코딩한 결과의 맨 왼쪽 컬럼은, 삭제를 해도, 0과 1로 모두 3개 데이터표현가능

프랑스 = [1, 0]
스페인 = [0, 1]
영국    = [0, 0]

이렇게 두 자리만으로도 표현을 할 수 있기 때문입니다. 
Dummy varialbe trap : 즉 맨 왼쪽 하나의 컬럼은 지워도 된다.